2016-07-26 64 views
1

我有,有一个VB代码,它看起来像这样的Excel文件:VBA代码修改的麻烦

Sub UPISIVANJE_IZ_CELIJA_U_FILE() 
    Dim iCntr 
    Dim strFile_Path As String 

    strFile_Path = "C:\script generator v1.1\start.bat" 
    Open strFile_Path For Output As #2 
    For iCntr = 1 To 10041 
     Print #2, Range("E" & iCntr) 
    Next iCntr 
    Close #2 

End Sub 

代码工作没有任何问题。我遇到的问题是start.bat文件的位置。我想要在Excel工作簿文件所在的同一位置生成此文件。我试着用这个:

strFile_Path = ".\start.bat" 

但当然它没有工作。

+2

尝试'strFile_Path = ThisWorkbook.Path +“\ start.bat”' –

回答

2

假设你的意思的路径代码的一部分工作簿,

strFile_Path = thisworkbook.path & ".\start.bat" 

注意,VBA使用字符串连接的符号(如&),而不是加号(如+) 。加号可以连接字符串,但不能执行加法操作,但操作不明确,不应依赖。

+0

这工作的人。感谢您的快速回复和帮助。如果它没有太多要求,我怎么能让start.bat automaticaly在最后执行。 – shox303

+0

我相信它就像'Shell.Open',但那会是另外一个问题。我会建议你[关闭](http://stackoverflow.com/help/someone-answers)这个问题,并开始另一个更新的信息,以免这成为[俄罗斯娃娃问题](http://meta.stackexchange.com /问题/ 188625)。 – Jeeped