2016-06-29 3 views
0

У меня есть файл Excel, который хранит путь к файлу в ячейке A1 и объединяется с функцией TODAY() для обновления этого пути к файлу.VBA Запись данных из ячейки Excel в текстовый/пакетный файл

У меня также есть пакетный файл, который будет перемещать файлы из одной папки в другую. В настоящее время я использую эту ячейку excel обновления, чтобы получить новую командную команду перемещения.

Как я могу использовать VBA для автоматического копирования данных из Sheet1 в ячейку A1 в пакетный файл?

Пакетный файл хранится C: \ Desktop \ Batch \ update.bat

Ниже приведен пример кода из комментариев ниже, но я просто хочу, чтобы скопировать данные из листа 1 и Cell A1

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

Вы даже искали, как это сделать? это очень распространено и по всей сети. [Вот один пример] (http://www.homeandlearn.org/write_to_a_text_file.html) (немного больше, чем вам нужно, но имеет элементы) –

+0

Я просто хочу, чтобы одна ячейка не была диапазоном. Многие из них в Интернете - это диапазон, и я новичок в VBA –

+0

, а одна ячейка - Range. 'Range (" A1 ")' –

ответ

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

Пожалуйста, отредактируйте с дополнительной информацией. Только код и «попробуйте» ответы не приветствуются, поскольку они не содержат содержимого, доступного для поиска, и не объясняют, почему кто-то должен «попробовать это». Мы прилагаем усилия, чтобы стать источником знаний. – abarisone

Смежные вопросы