【问题标题】:VBA Write Data From Excel Cell to Text/Batch FileVBA 将数据从 Excel 单元格写入文本/批处理文件
【发布时间】:2016-11-01 12:30:32
【问题描述】:

我有一个 Excel 文件,它在单元格 A1 中存储文件路径,并与函数 TODAY() 连接以更新该文件路径。

我还有一个批处理文件,可以将文件从一个文件夹移动到另一个文件夹。我目前使用这个更新的 excel 单元格来获取新的移动批处理命令。

如何使用 VBA 将单元格 A1 中的 Sheet1 中的数据自动复制到批处理文件中?

存储批处理文件 C:\Desktop\Batch\update.bat

这是来自下面 cmets 的示例代码,但我只是希望它从 Sheet 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")

【问题讨论】:

  • 你有没有搜索过如何做到这一点?这很常见,而且遍布整个网络。 Here's one example(比你需要的多一点,但有元素)
  • 我只想要一个单元格而不是一个范围。互联网上的许多都是一个范围,我是 VBA 新手
  • 单个单元格也是 Range。 Range("A1")
  • 那么在您的示例中,您将如何编辑以下内容以仅引用 sheet1 和单元格 A1
  • @ScottHoltzman 我不得不使用 Print 而不是 Write

标签: excel vba batch-file updates


【解决方案1】:
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

【讨论】:

  • 请编辑更多信息。不鼓励使用纯代码和“试试这个”的答案,因为它们不包含可搜索的内容,也没有解释为什么有人应该“试试这个”。我们在这里努力成为知识的资源。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-15
  • 1970-01-01
相关资源
最近更新 更多