你也可以使用,而不是一个宏观VBS的所有属性。语言几乎完全相同,您的脚本将独立于您的工作簿。
至于确定使用哪个文件来运行宏(没有数据和代码的例子,它很难太具体),你可以浏览你想要的文件。
Dim objShell
Set objShell = CreateObject("Shell.Application")
Dim strFileName
Dim strFilePath
Dim dPicker
Set dPicker = objShell.BrowseForFolder(0, "Choose a file:", &H4000)
strFilePath = dPicker.self.Path 'will give you the file path of the file you choose,
'which you can then use to open/access the file with
'the data you need.
'Code
Set dPicker = Nothing
如果您想坚持一个宏,您可以检出FileDialog对象以使用VBA中的文件选取器。
要获得VBA打开的工作簿的文件名和/或路径,使用
ActiveWorkbook.Name
ActiveWorkbook.Path
希望这有助于!
嗨,所以现在你有2个工作簿,其中一个隐藏着宏(让我们将其命名为A),另一个可见,让我们将其命名为B. 所以你想调用宏中的A ? – Larry
嘿拉里, 就是这样。为了给你更多的背景: 我们有一个系统输出一个电子表格,里面装满了数据(A),另一个电子表格里面有一系列公式(B)。目前,用户必须通过A,复制正确的字段并将它们粘贴到B. 我已经编写了一个可以自动执行此过程的宏,因此他们现在打开A,点击快捷方式,宏定位并打开B,然后在A中找到相关数据并将其粘贴到B. –
对不起仍然有点不清楚的情况和你想要什么,我们可以继续讨论http://chat.stackoverflow.com/rooms/info/21244/http-stackoverflow-com-questions-13909747-vba -excel-2003-macro-independent-from?tab = general? – Larry