Durch ein Excel-VBA-Makro, ich versuche, bis zu 10 Leerzeichen getrennte Argumente für einen ausgewählten Bereich in Excel zu drucken.Excel VBA extra Newline wird durch print statement eingefügt
Zum Beispiel habe ich die 24 Werte in meinem Auswahlbereich A1: A24 - (zB Val1, Val2, Val3, Val4, etc.) Mit dem folgenden VBA-Code möchte ich die Ausgabe im "outfile" bekommen .bat "als
"C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" Val1 Val2 .... Val10
" C: \ Program Files (x86) \ Google \ Chrome \ Anwendung \ chrome.exe "Val11 Val2 .... Val20
" C: \ Programme (x86) \ Google \ Chrome \ Anwendung \ chrome.exe "Val21 Val22 Val23 Val24
, d.h. jede Zeile sollte mit maximal 10 Argumentwerten gedruckt werden (getrennt durch ein Leerzeichen). Alles, was über das sollte zum nächsten Zeile (wieder max von 10 Leerzeichen getrennt Argumenten)
irgendwie bewegt werden, der folgende Code ist (1) nicht die Ausgabe auf die gleiche Linie zu halten und (2) fügt eine neue Zeile in der 10. Wert, aber nicht am 20., 30. und anderen Werten.
Es produziert die folgenden:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
Val1
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
Val2
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
Val3
und so weiter ....
Hier ist mein Code:
Private Sub GetChromeFile_Click()
Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer, a As Integer
myFile = "C:\Users\User1\" & "outfile.bat"
Set rng = Selection
Open myFile For Output As #7
a = 0
For i = 1 To rng.Rows.Count
Print #7, Chr(34) & "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" & Chr(34)
a = a + 1
cellValue = rng.Cells(i).Value
If (a = 10) Then
Print #7, " " & cellValue & vbNewLine
Else
Print #7, " " & cellValue
End If
Next i
Close #7
Range("F5").Value = " Done!"
End Sub
Bitte lassen Sie mich wissen, wo dies schief gehen kann. Dank
Schnelltest, Probieren Sie einfach 'Print # 7," "" C: \ ProgramFiles \ ... \ chrome.exe "" "'? (Mit anderen Worten, verwenden Sie doppelte Anführungszeichen, um ein Zitat anstelle der 'CHR()' zu drucken) – BruceWayne
Danke für die Eingabe @BruceWayne. Dies ist in DavidZemens 'Antwort enthalten. Schätze deine Hilfe! – user6337701