gpt4 book ai didi

vba - Word 2011 VBA 中的文件对话框

转载 作者:行者123 更新时间:2023-12-01 04:51:40 24 4
gpt4 key购买 nike

我希望进行一些完整性检查。我正在为 Mac 调整一个 Word 加载项(用 VBA 为 Word 2010 编写),特别是在这一点上,Word 2011。我知道许多差异,但我无法找到很多文档是明显缺少 FileDialog。我最接近的答案在这里:http://www.rondebruin.nl/mac.htm作者使用 Application.GetOpenFilename 的地方。不过,对于 Word 似乎不存在该方法(该站点的重点是 Excel)。

有谁知道如何使用 FileDialog 提供的文件和文件夹选择器对话框?我真的不熟悉 Applescript,但我必须学习一些才能解决 Word 2011 的时髦文件管理问题(Dir、FileCopy 等)。因此,如果这就是答案,那么对 Applescript 中的代码可能是什么样子的任何感觉都将不胜感激。 (我或多或少知道如何将其转换为 VBA)。

最佳答案

我相信您必须使用 Apple Script 才能在 Mac 上更好地执行此操作。以下代码允许用户选择文本文件,这些文件作为函数的数组返回。您只需修改 Apple Script 即可返回其他文件类型并选择目录,我会把它留给您。

调用该函数并显示包含所有文件的消息框的代码:

Sub GetTextFilesOnMac()
Dim vFileName As Variant

'Call the function to return the files
vFileName = Select_File_Or_Files_Mac

'If it's empty then the user cancelled
If IsEmpty(vFileName) Then Exit Sub

'Loop through all the files specified
For ii = LBound(vFileName) To UBound(vFileName)
MsgBox vFileName(ii)
Next ii

End Sub

以及执行 Apple 脚本的函数:

Function Select_File_Or_Files_Mac() As Variant
'Uses AppleScript to select files on a Mac
Dim MyPath As String, MyScript As String, MyFiles As String, MySplit As Variant

'Get the documents folder as a default
On Error Resume Next
MyPath = MacScript("return (path to documents folder) as String")

'Set up the Apple Script to look for text files
MyScript = "set applescript's text item delimiters to "","" " & vbNewLine & _
"set theFiles to (choose file of type " & " {""public.TEXT""} " & _
"with prompt ""Please select a file or files"" default location alias """ & _
MyPath & """ multiple selections allowed true) as string" & vbNewLine & _
"set applescript's text item delimiters to """" " & vbNewLine & _
"return theFiles"

'Run the Apple Script
MyFiles = MacScript(MyScript)
On Error GoTo 0

'If there are multiple files, split it into an array and return the results
If MyFiles <> "" Then
MySplit = Split(MyFiles, ",")
Select_File_Or_Files_Mac = MySplit
End If
End Function

最后,指定不同的文件类型可能会有点麻烦,如果您只想指定 Word 文档,请将 public.TEXT 替换为 com.microsoft.word.doc ,但是这不允许 .docx.docm 文件。您需要分别使用 org.openxmlformats.wordprocessingml.documentorg.openxmlformats.wordprocessingml.document.macroenabled。有关这些的更多信息,请参阅:https://developer.apple.com/library/mac/#documentation/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html

关于vba - Word 2011 VBA 中的文件对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15535413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com