2016-07-26 10 views
1

Ich habe Excel-Datei, die einen VB-Code in sich hat, das wie folgt aussieht:VBA-Code Änderung Probleme

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 

-Code ohne Probleme funktioniert. Woran ich Probleme habe, ist der Speicherort der Datei start.bat. Ich möchte, dass diese Datei am gleichen Speicherort erstellt wird, an dem sich die Excel-Arbeitsmappendatei befindet. Ich habe versucht, mit diesem:

strFile_Path = ".\start.bat" 

Aber natürlich hat es nicht funktioniert.

+2

Versuchen Sie 'strFile_Path = ThisWorkbook.Path +" \ start.bat "' –

Antwort

2

Unter der Annahme, dass Sie den Pfad zu der Arbeitsmappe bedeuten, dass der Code ist ein Teil,

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

Beachten Sie, dass VBA kaufmännische verwendet (zB &) für String-Verkettung, nicht das Pluszeichen (zB +) . Ein Pluszeichen kann Zeichenfolgen verketten, wenn es keine Addition durchführen kann, aber die Operation ist mehrdeutig und sollte nicht verlässlich sein.

+0

Das funktioniert man. Danke für deine schnelle Antwort und Hilfe. Wenn es nicht zu viel zu fragen ist, wie kann ich start.bat am Ende automatisch ausführen lassen. – shox303

+0

Ich glaube, es ist so etwas wie "Shell.Open", aber das wäre eine andere Frage. Ich würde vorschlagen, dass Sie diese Frage [close] (http://stackoverflow.com/help/someone-answers) stellen und eine weitere mit den aktualisierten Informationen beginnen, damit dies nicht zu einer [russischen Puppenfrage] wird (http://meta.stackexchange.com)/Fragen/188625). – Jeeped