从 Excel 中的单元格复制并复制到文本文件中的下一个可用行

问题描述 投票:0回答:2

我创建了一个 VBA 宏,用于将 Excel 工作表转换为适当的形式,并在我的第四个工作表上创建一个单元格字符串。我希望在 Excel 中复制该字符串并将其粘贴到记事本中的预定义位置。如果它可以将其粘贴到文本文件的下一行,那就更好了。我不确定是否可以保存文本文件,但这也很棒。

基本上是复制第 4 页上的单元格 A1,打开记事本,粘贴到下一个可用行,保存记事本 TIA

excel vba notepad
2个回答
0
投票

将字符串附加到文本文件

调用流程(示例)

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

0
投票

要将单元格的内容写入文本文件的末尾,请使用

[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
© www.soinside.com 2019 - 2024. All rights reserved.