有没有办法获取文本文件的内容并将其添加到剪贴板?
我正在考虑将DataObject的内容设置为文件中的内容,然后将DataObject添加到剪贴板。
这可以通过Excel VBA完成吗?
这是我用来将数据以正确格式存入txt文件的代码。但是,我也需要它在剪贴板中,所以我可以粘贴它。
With ws2
Open "C:\Users\peter.carr\Documents\New Action Plan\copytest.txt" For Append As #1
lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
lastcol = .Cells(1, .Columns.Count).End(xlToLeft).Column
For i = lastrow To 2 Step -1
str1 = ""
Print #1, ws2.Cells(i, 1).Value & ") " & ws2.Cells(i, 2).Value
Print #1,
For Each cell In .Range(.Cells(i, 6), .Cells(i, lastcol))
g = i - 1
If cell.Column <> 4 And cell.Column <> 5 And cell.Value <> "" And cell.Value <> "NEW ACTION" Then
Print #1, cell.Value
Print #1, "(" & cell.Offset(-g, 0).Value & ")"
Print #1,
End If
Next cell
Next i
Close #1
End With
我知道我可以打开文件并复制它。然而,这个想法是,这是一个更大的自动化过程的一部分,因此我真的希望能够在不打开文件的情况下实现这一目标。
答案 0 :(得分:1)
Sub TextToClipboard()
Dim sFile As String: sFile = "C:\Test.txt"
Dim sText As String
Dim Dataobj As DataObject
Set Dataobj = New DataObject
Open sFile For Input As #1
sText = Input(LOF(1), 1)
Dataobj.SetText sText
Dataobj.PutInClipboard
End Sub