2016-06-29 4 views
0

Ich habe eine Excel-Datei, die einen Dateipfad in Zelle A1 speichert und mit der Funktion TODAY() verkettet, um diesen Dateipfad zu aktualisieren.VBA Daten von Excel-Zelle in Text/Batch-Datei schreiben

Ich habe auch eine Batch-Datei, die Dateien von einem Ordner in einen anderen verschieben wird. Ich verwende diese Update-Excel-Zelle derzeit, um den neuen Befehl zum Verschieben von Stapeln zu erhalten.

Wie kann ich mit VBA Daten von Sheet1 in Zelle A1 automatisch in die Stapeldatei kopieren?

Batch-Datei gespeichert ist C: \ Desktop \ Batch \ update.bat

Hier ist ein Beispiel-Code aus den Kommentaren unten ist, aber ich will es nur A1-Daten von Blatt 1 und Zelle kopieren

Dim FilePath As String 
Dim CellData As String 
Dim LastCol As Long 
Dim LastRow As Long 

LastCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column 

LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row 

FilePath = "C:\Batch\copy.bat" 

Open FilePath For Output As #2 

For i = 1 To LastRow 

    For j = 1 To LastCol 

     If j = LastCol Then 

      CellData = CellData + Trim(ActiveCell(i, j).Value) 

     Else 

      CellData = CellData + Trim(ActiveCell(i, j).Value) + "," 

     End If 

    Next j 

    Write #2, CellData 
    CellData = "" 

Next i 

Close #2 

MsgBox ("Done") 
+1

Haben Sie sogar gesucht, wie es geht? Es ist sehr verbreitet und überall im Netz. [Hier ist ein Beispiel] (http://www.homeandlearn.org/write_to_a_text_file.html) (ein bisschen mehr als Sie brauchen, aber hat die Elemente) –

+0

Ich möchte nur eine einzelne Zelle, nicht ein Bereich. Viele der im Internet sind eine Reihe und ich neu in VBA –

+0

eine einzelne Zelle ist Range. 'Bereich (" A1 ")' –

Antwort

0
Dim FilePath As String 
Dim CellData As String 

FilePath = "C:\Batch\copy.bat" 

Open FilePath For Output As #2 

r = Worksheet("Sheet1").Range("A1").Text 

Print #2 r 
+0

verwenden Bitte bearbeiten Sie mit mehr Informationen. Code-only und "try this" Antworten werden abgeraten, da sie keine durchsuchbaren Inhalte enthalten und nicht erklären, warum jemand "das versuchen sollte". Wir bemühen uns, eine Ressource für Wissen zu sein. – abarisone