我创建了一个 VBA 宏,用于将 Excel 工作表转换为适当的形式,并在我的第四个工作表上创建一个单元格字符串。我希望在 Excel 中复制该字符串并将其粘贴到记事本中的预定义位置。如果它可以将其粘贴到文本文件的下一行,那就更好了。我不确定是否可以保存文本文件,但这也很棒。
基本上是复制第 4 页上的单元格 A1,打开记事本,粘贴到下一个可用行,保存记事本 TIA
调用流程(示例)
Sub Test()
Const FILE_PATH As String = "C:\Test\Test.txt"
Dim MyString As String: MyString = "Test"
AppendString FILE_PATH, MyString
End Sub
被调用的过程(方法)
Sub AppendString(FilePath As String, WriteString As String)
Dim FileNumber As Long: FileNumber = FreeFile
Open FilePath For Append As FileNumber
Print #FileNumber, WriteString
Close FileNumber
End Sub
要将单元格的内容写入文本文件的末尾,请使用
[open][1]
、[print][1]
和 [close][1]
命令的旧式组合。无需涉及剪切和粘贴或记事本。
Dim file As Integer
file = FreeFile()
Open "C:\TEMP\Test1.txt" For Append As #file
Print #file, ThisWorkbook.sheets(4).Range("A1").value
Close #file
(选择您需要的文件路径和名称)。
打开文件进行追加将在文件末尾添加新数据。如果该文件不存在,则会创建该文件,因此您无需担心这一点。
Print
将打印一行文本(包括行结束字符,因此下一个 Print
将进入新行)。
如果我在你身边,我会为此制定一个例程
Sub appendTextToFile(FileName As String, txt As String)
Dim file As Integer
file = FreeFile()
Open FileName For Append As #file
Print #file, txt
Close #file
End Sub
在你的代码中,你只需要写
appendTextToFile "C:\temp\test1.txt", ThisWorkbook.sheets(4).Range("A1").value