VBScript文件的相对路径

时间:2016-02-03 02:05:21

标签: excel excel-vba vbscript vba

我有一个VBScript文件来打开Excel文件并运行一个宏。此Excel文件与VBScript文件位于同一文件夹中。我想使用相对路径来调用它,这样我就可以移动该文件夹而无需重写脚本中的路径。现在我的VBScript看起来像这样:

    Option Explicit

    On Error Resume Next

    ExcelMacroExample

    Sub ExcelMacroExample() 

      Dim xlApp 
      Dim xlBook

      Set xlApp = CreateObject("Excel.Application") 
      Set xlBook = xlApp.Workbooks.Open("C:\Users\Ben\Desktop\GeocodingBatchFile\Files\GeocodingStart.xlsm") 
      xlApp.Run "Export"
      xlApp.Quit 

      Set xlBook = Nothing 
      Set xlApp = Nothing 

    End Sub 

如果我可以做这样的事情,那将是很好的,而不是使用完整的文件路径:

    Set xlBook = xlApp.Workbooks.Open(".\GeocodingStart.xlsm") 

2 个答案:

答案 0 :(得分:3)

试试这个......

 ________________________________
| ID | name          | born      |
|--------------------------------|
| 1  | David         | 1987      |
| 2  | Michale       | 1998      |
| 3  | Mary          | 1995      |
 --------------------------------

答案 1 :(得分:0)

您可以使用FileSystemObject获取脚本文件的路径,例如

Sub ExcelMacroExample()

   Dim xlApp
   Dim xlBook
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   Dim fullpath
   fullpath = fso.GetAbsolutePathName(".")
   Set fso = Nothing
   Set xlApp = CreateObject("Excel.Application")
   Set xlBook = xlApp.Workbooks.Open(fullpath & "\GeocodingStart.xlsm")
   xlApp.Run "Export"
   xlApp.Quit

   Set xlBook = Nothing
   Set xlApp = Nothing

End Sub