[Fwd: [AccessD] AXP - Create HTML Document]

MartyConnelly martyconnelly at shaw.ca
Fri Feb 6 12:43:03 CST 2004


This might get you started but constants vary for each version of Word
This worked for 2000.
Also it generates a lot of excess html
see for other methods or use word macro recorder to see code generated 
by SaveAs HTML
http://word.mvps.org/FAQs/General/SaveAsWebWithoutXML.htm



Public Sub ConvertWordToHTML(strPath, strDocName)
On Error Resume Next

Dim lenDocname  As Integer
Dim intStart    As Integer

Dim bolStarted  As Boolean

Dim newDocName  As String
Dim oldDocName  As String
Dim strContents As String

Dim WordApp As Word.Application
Dim wordDoc As Word.Document
Dim noneDoc As Word.Document
   

   Set noneDoc = Nothing
  
   Set WordApp = GetObject(, "Word.Application")
   If Err <> 0 Then
        'word wasn't running, start it from code
         Set WordApp = CreateObject("Word.Application")
         End If

'get old document name
oldDocName = Trim(strDocName)
' get length
lenDocname = Len(Trim(strDocName))
'remove last 4 characters and replace with .htm extension
newDocName = Left(Trim(strDocName), lenDocname - 4) & ".htm"
'delete new file just in case
strContents = strPath & newDocName
'Kill (strContents)

   'open and display document
   strContents = strPath & oldDocName
   Set wordDoc = Documents.Open(FileName:=strContents, _
                                ConfirmConversions:=False, _
                                ReadOnly:=False, _
                                AddToRecentFiles:=False, _
                                Revert:=False, _
                                Format:=wdOpenFormatAuto)
'                                Visible:=True)
'                               Format:=wdDocument,

' no idea why but i sometimes get err 53 file not found yet the file 
still opens
   If Err <> 0 And Err <> 53 Then
      GoTo Quit_Conversion
     End If
  
   Err.Clear

  
   'save as html
    wordDoc.SaveAs FileName:=strPath & newDocName, _
                   FileFormat:=wdFormatHTML, _
                   LockComments:=False, _
                   Password:="", _
                   AddToRecentFiles:=False, _
                   WritePassword:="", _
                   ReadOnlyRecommended:=False, _
                   EmbedTrueTypeFonts:=False, _
                   SaveNativePictureFormat:=False, _
                   SaveFormsData:=False, _
                   SaveAsAOCELetter:=False
                  
   If Err <> 0 Then
        GoTo Quit_Conversion
     End If
       
Debug.Print newDocName
'cmdConvert.Enabled = False
'cmdConvert.Visible = False

Debug.print "Document Converted successfully"


Quit_Conversion:
If Err <> 0 Then
     Debug.Print Err.Number & " " & Err.Description _
           & ", " & Err.Source, "e"
     End If
    
If wordDoc <> noneDoc Then
     wordDoc.Close SaveChanges:=False
     End If
    
     Set wordDoc = Nothing
 
If bolStarted = True Then
    WordApp.Quit
    End If
   
    Set WordApp = Nothing
            
End Sub

Bryan Carbonnell wrote:

>>From: "Terri Jarus" <jarus at amerinet-gpo.com>
>>Date: Fri, 06 Feb 2004 07:54:39 -0600
>>To: <accessd-owner at databaseadvisors.com>
>>Subject: [AccessD] AXP - Create HTML Document
>>
>>I have a report that is created dynamically in Word, however, we now want it to be created in HTML.
>> 
>>Does anyone have sample code to do something like this?
>> 
>>Here is a sample (shortened version) of what we use for the Word doc - how can I change it to HTML.  Or is there a better way?
>> 
>>Private Sub CreateCDS_Click()
>>DoCmd.Save
>>  Dim objWord As Word.Application
>>  Dim filename As String
>> 
>>  Set objWord = New Word.Application
>>  
>>  filename = "U:\Suppliers\Reports\Contract Sales\EForm\cds.dot"
>>   
>>  With objWord
>>  
>>  On Error GoTo MsgInfo
>>    .Visible = True
>>  
>>    .Documents.Add _
>>      Template:=filename, _
>>      NewTemplate:=False
>>   
>>    
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="ContractNumber"
>>            
>>        .Selection.TypeText _
>>            Text:=ContractNumber
>>            
>>       If HubSupplier <> "" Then
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="Hub"
>>            
>>        .Selection.TypeText _
>>            Text:="Hub Supplier:  " & Nz([HubSupplier])
>>       Else
>>       End If
>>            
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="ContUpd"
>>            
>>        .Selection.TypeText _
>>            Text:=ContUpd
>>            
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="InternalNum"
>>            
>>        .Selection.TypeText _
>>            Text:=Nz([VendorInternal])
>>            
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="PDU"
>>            
>>        .Selection.TypeText _
>>            Text:=Prog
>>    
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="Category"
>>            
>>        .Selection.TypeText _
>>            Text:=IndexCategory
>>            
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="SupplierName"
>>            
>>        .Selection.TypeText _
>>            Text:=UCase([SupplierPrintName])
>>            
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="Address1"
>>            
>>        .Selection.TypeText _
>>            Text:=SupplierAddress1
>>            
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="Address2"
>>            
>>        .Selection.TypeText _
>>            Text:=Nz([SupplierAddress2])
>>            
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="CityStateZip"
>>            
>>        .Selection.TypeText _
>>            Text:=CityStateZip
>>            
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="Phone"
>>            
>>        .Selection.TypeText _
>>            Text:=Nz([SupplierPhone])
>>        
>>        
>>        .Selection.GoTo _
>>                What:=wdGoToBookmark, _
>>                Name:="Fax"
>>                
>>          If Nz(SupplierFax, "") = "" Then
>>            .Selection.Expand wdWord
>>            .Selection.Delete
>>            Else
>>            
>>            .Selection.TypeText _
>>                Text:="FAX:  " & Nz([SupplierFax])
>>       
>>        End If
>>            
>>            .Selection.GoTo _
>>                What:=wdGoToBookmark, _
>>                Name:="TollFree"
>>            
>>            If Nz(SupplierTollFree, "") = "" Then
>>                .Selection.Expand wdParagraph
>>                .Selection.Delete
>>            Else
>>            
>>            .Selection.TypeText _
>>                Text:="TOLL FREE:  " & Nz([SupplierTollFree])
>>          
>>        End If
>>            
>>        .Selection.GoTo _
>>            What:=wdGoToBookmark, _
>>            Name:="WebAddress"
>>            
>>        .Selection.TypeText _
>>            Text:="Website:  " & Nz([VendorWeb])         
>>           
>>        objWord.Selection.TypeParagraph
>>        objWord.Selection.MoveDown Unit:=wdLine
>>        
>>    
>>        .Quit
>>        
>>        End With
>>        
>>        Set objWord = Nothing
>>        
>>MsgInfo:
>>    On Error Resume Next
>>    'MsgBox "There is a required field missing information, please recheck your CDS data. Enter any required data into the Contract Info database."
>>    Exit Sub
>>End Sub
>> 
>>Please advise.
>> 
>>Thanks for any help.
>> 
>> 
>>Terri Jarus
>>Director, Contract Support Services
>>jarus at amerinet-gpo.com 
>>314-542-1902
>>
>>
>>---------------------------------------------------------------------------
>>This email and any files transmitted with it are confidential and
>>intended solely for the use of the individuals or entities to whom they
>>are addressed. If you have received this email in error please return
>>it to the sender, and erase any copies thereof.
>>Copyright 2004 Amerinet 1nc.
>>
>>    
>>
>
>--
>Bryan Carbonnell - carbonnb at sympatico.ca
>Unfortunately common sense isn't so common!
>
>_______________________________________________
>AccessD mailing list
>AccessD at databaseadvisors.com
>http://databaseadvisors.com/mailman/listinfo/accessd
>Website: http://www.databaseadvisors.com
>
>  
>

-- 
Marty Connelly
Victoria, B.C.
Canada





More information about the AccessD mailing list