View Single Post
 
Old 03-05-2017, 09:03 PM
fosterpapillon fosterpapillon is offline Mac OS X Office for Mac 2011
Novice
 
Join Date: Mar 2017
Location: Wilsons Promontory, Australia
Posts: 3
fosterpapillon is on a distinguished road
Default How to assign the clipboard value to a variable?

I've written several large VB macros for Excel so I know how it works but I now need a simple one for MS Word (in Office 2011 for Mac) where I have no experience at all. Is there a good site to learn from?

In the meantime, this is what I want to do:

Public Sub Auto_Open()
' On opening the file, this procedure in TextConverter.doc opens the main procedure
' which opens one .doc file in the folder and saves it as a separate text file.

ConvertToText
End Sub

Private Sub ConvertToText()
Dim FileName1 As String
FileName1 = clipboard()
Documents.Open FileName:=FileName1, ConfirmConversions:=False, _
ReadOnly:=False
ActiveDocument.SaveAs FileName:= FileName1 & ".txt", FileFormat:=wdFormatText
ActiveWindow.Close
Quit
EndSub

It just opens a .doc file, saves it as a text file and closes the original. Obviously, the line, "FileName1 = clipboard()" throws an error. What is the correct code to assign the clipboard value to the variable, FileName1?

I need to convert hundreds of .doc files (in batches of 10 or 20) to text and I propose to call this macro for each one in a group, using Panorama, a database management package that can open a Word document. It's clumsy but I only need to do it once.

If there's a simple way for VB to handle a batch of files, great! I just have no idea how to get the file names into the system. In Excel, I had them in cells and stepped through them.

michael
Reply With Quote