|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
[vba word] formattazione testo e inserimento immagine
Ciao a tutti. Dovrei generare un documento di word a partire dai dati contenuti in un db di access.
Riporto qui solo una parte del codice per semplificare il tutto. Vi spiego velocemente quali sono le mie difficoltà: 1) Non riesco a capire perchè se voglio formattare in grassetto il contenuto della prima riga nella colonna di sinistra della mia tabella mi vengono formattate in grassetto anche tutte le voci del recordset. 2) Come faccio ad inserire un'immagine nella prima riga della tabella? Ho letto del metodo addpicture ma non riesco a farlo funzionare. 3) Come faccio ad allineare a destra il contenuto di una cella? Ho provato con objTable.Cell(i, 1).range.Paragraphs.Alignment = wdAlignParagraphRight come potete vedere poi commentato all'interno del codice ma non funziona. Spero possiate darmi qualche dritta. Grazie a tutti. Codice:
Private Sub cmdGenCV_Click()
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add()
Set objRange = objDoc.range()
objDoc.Tables.Add objRange, 1, 2
Set objTable = objDoc.Tables(1)
strQueryName1 = "qrynominativo"
Set objRST1 = Application.CurrentDb.OpenRecordset(strQueryName1)
objTable.Columns(1).PreferredWidth = 150
objTable.Columns(2).PreferredWidth = 350
objTable.Cell(1, 1).range.Text = "Curriculum Vitae Europass"
objTable.Cell(1, 1).range.Font.Bold = True
For i = 0 To objRST1.Fields.Count - 1
objTable.Rows.Add
objTable.Cell(i + 2, 1).range.Text = objRST1.Fields(i).Name
'objTable.Cell(i + 1, 1).range.Font.Bold = True
'objTable.Cell(i, 1).range.Paragraphs.Alignment = wdAlignParagraphRight
objTable.Cell(i + 2, 2).range.Text = objRST1.Fields(i).Value
Next
'objTable.Cell(41, 1).selection.Shapes.AddPicture ("C:\Documents and Settings\Utente\Documenti\Immagini\europass.jpg")
End Sub
objTable.Cell(1, 1).range.ParagraphFormat.Alignment = wdAlignParagraphRight ma il testo mi rimane allineato a sinistra. Ultima modifica di john_revelator : 29-11-2007 alle 19:25. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Allora, con questo codice sono riuscito ad inserire la foto
objTable.Cell(1, 1).range.InlineShapes.AddPicture ("C:\Documents and Settings\Utente\Documenti\Immagini\europass.jpg") ma se la volessi allineare tutta a destra nella cella oppure se la volessi spostare verso destra di un certo numero di centimetri/millimetri? |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Nell'attesa di qualche risposta avrei un'altra domanda da porvi:
come faccio ad inserire in ogni pagina del mio documento di word un piè di pagina del genere, con la dicitura curriculum vitae di (nome e cognome ricavati dalla query) preceduta dal numero di pagina? Grazie. Pagina 1 / 3 - Curriculum vitae di Mario Rossi |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Codice:
Dim rngFooter As Range
Set rngFooter = objWord.ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range
With rngFooter
.Text = "Pagina "
.Collapse wdCollapseEnd
.Move unit:=wdCharacter, Count:=1
.Fields.Add Range:=rngFooter, Type:=wdFieldPage
.Collapse wdCollapseEnd
.Move unit:=wdCharacter, Count:=1
.Text = "/"
.Collapse wdCollapseEnd
.Move unit:=wdCharacter, Count:=1
.Fields.Add Range:=rngFooter, Type:=wdFieldNumPages
.Move unit:=wdCharacter, Count:=1
.Text = " Curriculum Vitae di" & vbCrLf & nome_cognome & vbTab
.Collapse wdCollapseEnd
.Move unit:=wdCharacter, Count:=1
'.Font.Size = 10
End With
Sembra essere a posto tranne che per il fatto che la dimensione del testo è troppo grande. Ho provato ad aggiungere a fine codice (come vedete commentato) .Font.Size = 10 ho anche provato a mettere 5 ma la dimensione del testo non cambia. Mi sapreste dire la sintassi giusta? Grazie. |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
-> MSDN aggiungere intestazioni e piè di pagina ai documenti Magari la grandezza del Font devi settarla prima. Ciao |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Ciao, ti ringrazio per la buona volontà. Avevo già visto anche quel link ma non mi è stato d'aiuto.
Ho già spulciato mille siti, forum, italiani e stranieri cercando una soluzione ma niente. Spero che qualcuno pratico di vba word sappia aiutarmi. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:07.




















