wobbled
asked on
VBA Open notepad file and copy it's contents then paste to word
Hi,
I need to open a text file in notepad, copy it's contents and then paste them into a word document.
I can open the text pad file fine using Shell "notepad c\:Test.txt" but do not know how I can then copy it's content. I know that this is strictly outside the capabilities of vba but wondered if anyone has ever done this.
I have tried using the code below to write the text in as stream, but as it contains various charactor sets eg Kanji and English it screws up the charactors due to the local settings etc, the only way I can get an exact copy in is when I manually open the text file and copy, paste it in.
Dim fso As FileSystemObject
Dim sFilename As String
Dim tsmfile As TextStream
Dim strXML As String
Dim TempFileLoc As String
Dim strXMLComp As String
Dim strXMLCompOne As String
Dim TempFileLocText As String
TempFileLocText = gobjDASLoc.TempPath("Test. txt")
sFilename = TempFileLoc
Set fso = New FileSystemObject
Set tsmfile = fso.OpenTextFile(sFilename , ForReading, False)
If tsmfile Is Nothing Then
Exit Function
End If
strXML = tsmfile.ReadAll
ActiveDocument.Bookmarks.A dd("bmk_xx x").Range. Text = strXML
I need to open a text file in notepad, copy it's contents and then paste them into a word document.
I can open the text pad file fine using Shell "notepad c\:Test.txt" but do not know how I can then copy it's content. I know that this is strictly outside the capabilities of vba but wondered if anyone has ever done this.
I have tried using the code below to write the text in as stream, but as it contains various charactor sets eg Kanji and English it screws up the charactors due to the local settings etc, the only way I can get an exact copy in is when I manually open the text file and copy, paste it in.
Dim fso As FileSystemObject
Dim sFilename As String
Dim tsmfile As TextStream
Dim strXML As String
Dim TempFileLoc As String
Dim strXMLComp As String
Dim strXMLCompOne As String
Dim TempFileLocText As String
TempFileLocText = gobjDASLoc.TempPath("Test.
sFilename = TempFileLoc
Set fso = New FileSystemObject
Set tsmfile = fso.OpenTextFile(sFilename
If tsmfile Is Nothing Then
Exit Function
End If
strXML = tsmfile.ReadAll
ActiveDocument.Bookmarks.A
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Sorry for the delay in getting back to you on this, as usual suddenly other items needed to be done urgently and this got pushed to the back of the que. Thanks for your reply, I ended up doing this a different way due to changes in how I was getting sent the data (Reading XML into a freefile) , but as you pretty much got it spot on with your reply for what I asked I'll accept this as an excellent answer.
Cheers
W