Registriert seit: 07.09.2021
Version(en): 2019
Hallo,
ich würde gerne in meinem Excel-Dokumente eine Button einfügen, welcher mir eine CMD-Befehl mit dem Inhalt der Zeile A5 ausführt.
In der Zeile A5 steht =A1&A2&A3&A4
Zusammen gesetzt bedeutet es: echo Text1 Text2 >>test.txt
Viele Grüße
Thomas
00202
Nicht registrierter Gast
Hallo,
mit folgendem
CMD-Befehl werden alle CSV-Dateien eines Verzeidchnisses in eine CSV-Datei zusammengeführt:
Code:
Option Explicit
Public Sub Main()
Dim dblTMP As Double
dblTMP = Shell("cmd /c type E:\Alte_HDD\TEMP\*.csv >> C:\Temp\AlleCSV.csv")
End Sub
Du musst das jetzt nur noch in die
richtige Syntax bringen - je nachdem, was in den einzelnen Zellen bei dir steht.
Registriert seit: 07.09.2021
Version(en): 2019
Hallo,
eigentlich möchte ich keine Dateien zusammenfügen, sondern die Zeile A5 an CMD übergeben/ausführen.
Das mit Shell("cmd habe ich schon gelesen, aber wie gebe ich die A5 dem Befehl mit.
Da ich keine andere Möglichkeit kenne, habe habe ich mir meinen Link in einer Zeile zusammen gesetzt.
Bisher kopiere ich mir immer die A5 aus Excel und füge die Zeile ins CMD ein.
Mit eine Button würde das dann automatisch und einfacher gehen.
A1=echo
A2=Text1
A3=Text2
A4=>>c:\test.txt
In der Zeile A5 steht =A1&A2&A3&A4
Die Zeile A5 sieht dann so aus: echo Text1 Text2 >>test.txt
Gruß Thomas
00202
Nicht registrierter Gast
Hallo,
folgende Vorraussetzungen:
- A4 = >>C:\Temp\Text1_2.txt
- A5 = =TEXTVERKETTEN(" ";WAHR;A1:A4)
Dann geht (
getestet):
Code:
Option Explicit
Public Sub Main()
Dim dblTMP As Double
dblTMP = Shell("cmd /c " & [A5])
End Sub
Registriert seit: 07.09.2021
Version(en): 2019
Hallo,
der Code funktioniert soweit, nur muss ich die Befehlsschaltfläche immer mehrmals klicken, bis er
es wirklich in die Datei schreibt. Beim ersten klick passiert nichts, er markierte mir eine Zelle
in der Tabelle und erst nach einem weiteren Klick klappt es.
Vielleicht sollte er direkt in eine Datei schreiben und nicht über meine Bastelformel mit Echo
Das war eben die billige Lösung, wenn man sich mit VBA nicht auskennt
So hätte ich es im Kopf
1. Überprüfe ob Datei vorhanden
2. Wenn ja, Zeile A2,A3 anfügen
3. Wenn nein, erstelle test.txt
4. Meldung Alles ok
3. Fertig
Gruß Thomas
00202
Nicht registrierter Gast
Hallo,
dann so:
Code:
Option Explicit
Public Sub Main()
Open "C:\Temp\Alles.txt" For Append As #1 ' Anpassen!!!
With ThisWorkbook.Worksheets("Tabelle2") ' Anpassen!!!
Print #1, Join(WorksheetFunction.Transpose(.Range("A3:A4").Value), " ")
End With
Close #1
End Sub
Registriert seit: 07.09.2021
Version(en): 2019
Hallo,
SUPER!!!
Vielen Dank es funktioniert
Ich habe noch eine blöde Frage, wird die Datei wenn Sie existiert in Excel (Speicher) geladen und dann A3:A4 dazu geschrieben?
Das würde bedeuten, wenn ich mit einem zweiten PC im selben Moment die Datei schreibe, ich die vorhandenen Daten überschreibe?
Weil ich habe doch in diesem Moment eigentlich nicht den aktuellen Stand?
Wie das der Echo-Befehl macht kann ich nicht sagen...
Gruß Thomas
00202
Nicht registrierter Gast
Hallo,
schau dir in dem Zusammenhang mal folgendes (
insbesondere die Parameter - auch die optionalen) an:
Open-Anweisung...