2014-03-06 190 views
0

有沒有辦法獲得文本文件的內容並將其添加到剪貼板?Excel VBA可以將DataObject設置爲文件中的文本嗎?

我正在考慮將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 

我知道我可以打開文件並複製它。然而,這個想法是,這是一個更大的自動化過程的一部分,因此我真的希望能夠在不打開文件的情況下做到這一點。

回答

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 
+0

我是否正確假設我可以在最後添加Dataobj.PutInClipboard將其添加到剪貼板? – Petay87

+0

是的,它應該按預期工作。我要編輯我的答案。 – Kapol

相關問題