【发布时间】:2014-04-26 03:54:08
【问题描述】:
所以,我在让 ChDrive 和 ChDir 与 Excel.Application.GetOpenFilename 一起正常工作时遇到了一些问题。当我在 Excel VBA 项目中使用命令时,它工作正常:
drive = Split(ActiveDocument.Path, ":")(0)
loc = Split(ActiveDocument.Path, ":")(1)
ChDrive drive
ChDir loc
exfile = exApp.GetOpenFilename("Microsoft Excel (*.xl*),*.xl*")
Set exBk = exApp.Workbooks.Open(exfile)
但是,当我从 Word 项目执行此操作时,它仍会访问默认文件夹 (MyDocuments)。
我尝试在运行 ChDrive/ChDir 命令之前打开 excel 实例并使其可见(如下所示),但无济于事 - GetOpenFilename 仍默认为 MyDocuments。
Dim exApp As Excel.Application
Dim exBk As Excel.Workbook
Set exApp = CreateObject("Excel.Application")
select_workbook:
'user defines Excel workbook to paste into
Word.Application.Activate
'Set exBk = exApp.Workbooks.Add
drive = Split(ActiveDocument.Path, ":")(0)
loc = Split(ActiveDocument.Path, ":")(1)
exApp.Visible = True
ChDrive drive
ChDir loc
MsgBox CurDir
' CurDir() = ActiveDocument.Path
exfile = exApp.GetOpenFilename("Microsoft Excel (*.xl*),*.xl*")
关于如何从 Word VBA 项目中为 Excel 设置 CurDir 有什么想法吗?
提前感谢您的任何建议。
【问题讨论】:
-
也只是尝试在 ChDrive 和 ChDir 命令之前添加“Set exBk = exApp.Workbooks.Add Excel.Application.ActiveWorkbook.Activate”,结果相同,或者没有任何结果,而是跨度>