Luc,
This is a job for a VBScript. This scriptfile was for converting *.txt
files to *.doc files. You can make minor change to the Word Object
'BEGIN VBSCRIPT CODE
'author mbyerley 052902
'CommandLine = Wscript Doc2RTF.vbs [ARGS]
'ARGS = Fully Qualified Directory where *.Doc Files are Located
Option Explicit
'Call the Sub
Main
Private Sub Main()
on error resume next
Dim aF()
Dim Fso
Dim oWord
Dim oDoc
Dim sPath
Dim cfile
Dim f
Dim fldr
Dim i
Const wdFormatDocument = 0
Const wdFormatDocument97 = 0
Const wdFormatText = 2
Const wdFormatDOSText = 4
Const wdFormatRTF = 6
Const wdFormatHTML = 8
Const wdFormatFilteredHTML = 10
Const wdFormatDocumentDefault = 16
Const wdFormatPDF = 17
ReDim aF(0)
Set oWord = CreateObject("Word.Application")
Set Fso = CreateObject("Scripting.FileSystemObject")
if Wscript.Arguments.Count = 0 then
'if no command line arg - start in directory where script is executed
sPath = Fso.GetParentFolderName(WScript.ScriptFullName)
else
'set the Path to the Argument of the Script
sPath = Wscript.Arguments(0)
if lcase(sPath) = "help" then
ShowUsage
end if
end if
Set fldr = Fso.GetFolder(sPath)
if err.number <> 0 then
msgbox "Error in Path. Quitting!"
CallItQuits
end if
'Put the File List into an Array
With Fso
Set fldr = .GetFolder(sPath)
If Err.Number <> 0 Then
MsgBox "Error in Path. Quiting!"
Set Fso = Nothing
CallItQuits
End If
'Put the File List into an Array
Set cfile = fldr.Files
For Each f In cfile
If LCase(.GetExtensionName(f.Name)) = "txt" Then
If aF(UBound(aF)) = "" Then
aF(UBound(aF)) = f.path
Else
ReDim Preserve aF(UBound(aF) + 1)
aF(UBound(aF)) = f.path
End If
End If
Next
If UBound(af) = 0 And af(0) = "" Then
MsgBox "No *.txt Files were Found to Process...Quiting", VbOkOnly, "No
Files Found"
Set Fso = Nothing
CallItQuits
end if
'start word and save them as *.doc files
End With
'start word and save them as *.doc files
oWord.Visible = -1
oWord.WindowState = 2 'minimized
For i = 0 To UBound(aF)
oWord.Documents.Open aF(i)
Set oDoc = oWord.Documents(1)
oDoc.SaveAs Conv2DocName(aF(i), Fso)
oDoc.Close
Next
oWord.Quit
Set FSO = Nothing
CallItQuits
End Sub
Private Function Conv2DocName(ByVal sIN, FsoIN)
With FsoIN
Conv2DocName = .GetParentFolderName(sIN) & "\" & .GetBaseName(sIN) &
".Doc"
End With
End Function
Private Sub ShowUsage()
dim Msg
Msg = "The Script File Can Take an OPTIONAL Command Line Parameter"
& VbCrLf
Msg = Msg & "Which can Include the Fully Qualified Path to the Directory
of the" & VbCrLf
Msg = Msg & "Text Files (*.txt) To Be Processed." & VbCrLf & VbCrLf
Msg = Msg & "In the Absence of the OPTIONAL Command Line Parameter, the "
& VbCrLf
Msg = Msg & "Script will process The Directory in Which it is Started" &
VbCrLf & VbCrLf
Msg = Msg & "CommandLine = Wscript Txt2Doc.vbs [ARGS]" & VbCrLf & VbCrLf
Msg = Msg & "If the Fully Qualified Directory PathName Contains ANY
SPACES" & VbCrLf
Msg = Msg & "in the Name, the Argument MUST BE EnClosed In Quotes"& VbCrLf
msgbox msg, VbOkOnly, "Command Line Usage"
CallItQuits
End Sub
Private Sub CallItQuits()
MsgBox "Processing Completed"
Wscript.Quit()
End Sub
'END VBSCRIPT CODE
----- Original Message -----
From: "Luc Delcoigne" <[email protected]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Monday, August 23, 2010 11:39 AM
Subject: [RBASE-L] - re: uploading .doc in rbase
Hello Razak,
thanks for the tip.
But this seems to be a very 'manual' way to do it and quite achievable for
a small number of documents.
However I have to read more than 80.000 word-documents into the database.
It then seems not an option to do this manually.
Isn't there a way to automate this and speed things up ?
Luc D.
--------------------------------------------------
From: "A. Razzak Memon" <[email protected]>
Sent: Monday, August 23, 2010 5:19 PM
To: "RBASE-L Mailing List" <[email protected]>
Subject: [RBASE-L] - re: uploading .doc in rbase
At 10:34 AM 8/23/2010, Luc Delcoigne wrote:
in my Access > Rbase conversion I have come to the point that
I have to load .doc files into the varchar field of an rbase
table.
What would be the most elegant way to this, considering there
are more than 80.000 files to upload in the table....?
Luc,
Here's how I have converted/stored all .doc files into R:BASE.
01. Open the original .doc file(s) in MS Word and then save as
.RTF to preserve the original formatting, etc.
02. Then, load these .rtf file(s) in R:BASE as VARCHAR or BLOB
(VARBIT) data type.
Use the appropriate data type (VARCHAR/VARBIT) accordingly.
03. Once stored in R:BASE, you may take advantage of enhanced
Blob Editor to manage all your documents, etc.
Tip:
When using the enhanced R:BASE BLOB Editor, make sure to
select [Rich Text] option/tab to manage .rtf files.
04. To print these documents in R:BASE eXtreme 9.0 reports,
make sure to use Advanced DB Rich Text Control.
That's all there is to it!
2010 Annual R:BASE Conference Highlights include a session to
demonstrate the use of such features in R:BASE eXtreme 9.0.
http://www.rbase.com/conference/
Very Best R:egards,
Razzak.