Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [VB6] Esportazione dati in file di Word

    Ciao, ho problemi ad esportare correttamente i dati da un form di VB ad un file di Word.

    Quello che vorrei fare è creare un documento Word con le seguenti caratteristiche:

    1. Un titolo posizionato in cima alla pagina al centro, il cui testo è preso da txtTitle.Text.
    2. Un'immagine centrata sotto il titolo, da me precedentemente salvata sul disco fisso.
    3. Una tabella sotto l'immagine costituita da una riga e due colonne, le cui celle prendono dati da due TextBox.

    Questo è il codice da me usato:

    codice:
    Private Sub cmdExportToWord_Click()
        
        Dim objWdApp As Object
        Dim objWdDoc As Object
        Dim objWdRange As Object
        
        Set objWdApp = CreateObject("Word.Application")
        Set objWdDoc = objWdApp.Documents.Add
       
        Set objWdRange = objWdDoc.Range
    
        objWdRange.Font.Name = "Arial"
        objWdRange.Font.Size = 12
        objWdRange.Font.Color = &HFF&
        objWdRange.Paragraphs.Alignment = wdAlignParagraphCenter
        
        objWdRange.InsertAfter vbNewLine & txtTitle.Text
    
        Dim BMP_File As String
    
        If Right(App.Path, 1) = "\" Then
            BMP_File = App.Path & "Temp.bmp"
        Else
            BMP_File = App.Path & "\Temp.bmp"
        End If
    
        SavePicture Picture1.Picture, BMP_File
    
        Set lo_pic = objWdApp.Selection.InlineShapes.AddPicture(BMP_File, False, True)
                       
        Set oTable = objWdDoc.Tables.Add(Range:=objWdDoc.Range(Start:=0, End:=0), NumRows:=1, NumColumns:=2)
        
        objWdDoc.Tables(1).Cell(1, 1).Range.InsertAfter Text1.Text
        objWdDoc.Tables(1).Cell(1, 2).Range.InsertAfter Text2.Text
       
        objWdApp.Visible = True
      
        Kill BMP_File
        
        Set objWdRange = Nothing
        Set objWdDoc = Nothing
        Set objWdApp = Nothing
    
    End Sub
    Il problema che ho è che non riesco ad impostare le coordinate degli oggetti creati nel file di Word.

    Infatti, sebbene tutti i dati siano esportati correttamente, la tabella appare in cima alla pagina mentre il testo e l'immagine non risultano centrate.

    Qualcuno può aiutarmi?

    Grazie in anticipo.

  2. #2
    PROBLEMA RISOLTO!

    Grazie in ogni caso.

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    ora mi hai incuriosito puoi mettere la soluzione ???

  4. #4
    Ho risolto semplicemente creando una macro in Word, accedendo al codice generato automaticamente ed incollandolo nella mia applicazione in VB.

    Ovviamente la macro di Word era in un documento da me formattato secondo le mie esigenze.

    Inutile dire che con questo sistema si diventa padroni di tutto ciò che riguarda l'interazione fra VB e Word. Provare per credere.

    N.B. Il codice generato dalla macro ha bisogno di piccole modifiche e integrazioni, ma la sostanza resta invariata.

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    ottimo ,una soluzione intelligentissima grazie

  6. #6
    Originariamente inviato da esposito
    Ho risolto semplicemente creando una macro in Word, accedendo al codice generato automaticamente ed incollandolo nella mia applicazione in VB.

    Ovviamente la macro di Word era in un documento da me formattato secondo le mie esigenze.

    Inutile dire che con questo sistema si diventa padroni di tutto ciò che riguarda l'interazione fra VB e Word. Provare per credere.

    N.B. Il codice generato dalla macro ha bisogno di piccole modifiche e integrazioni, ma la sostanza resta invariata.
    ciao esposito,
    ho anch'io la tua stessa esigenza potresti spiegarmi come funzionano le macro? non ho idea di cosa siano
    grazie

  7. #7
    Originariamente inviato da tomhead
    ciao esposito,
    ho anch'io la tua stessa esigenza potresti spiegarmi come funzionano le macro? non ho idea di cosa siano
    grazie

    Idem, qualcuno può aiutarmi?

    PS: Per utilizzare questa tecnica devo aver per forza installato word sul pc?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Sì ... è ovvio ...

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    158
    Originariamente inviato da esposito
    Inutile dire che con questo sistema si diventa padroni di tutto ciò che riguarda l'interazione fra VB e Word. Provare per credere.
    prendendosi la briga di leggere un po' di documentazione sul componente word si è molto più padroni dell'interazione...
    DISCLAIMER
    quello che sta scritto qui sopra è dettato esclusivamente dall'intuito, non da specifiche conoscenze tecniche. Usate queste informazioni a vostro rischio e pericolo (anhe sui server di produzione

  10. #10
    Non c'è un metodo che mi permetta di scrivere un documento word senza possedere office (ad esemo con access posso farlo)?

    O comunque un'altro tipo di file su cui posso impaginae il documento in una tabella per metterci dei dati...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.