Ho una necessitą di automatismo di word da access 2000/ADP SQL SERVER ma
conosco
molto poco su vba word.
Vorrei scrivere in un documento word posizionato nello stesso punto
su disco (ad.es. c:\doc\riepilogo.doc)
1) un testo nell'intestazione di pagina di word che leggo da un record di
una tabella sql server;
2) impostare il pie di pagina del documento word facendolo partire da una
numerazione ricavata
da un report di access e dal documento word stesso (che ne costituisce
contrattuale prosecuzione)
ad esempio il report di access ha 5 pagine il documento word 10
dovrei scrivere in word il pie di pagina progressivo "pagina 6 di 15"
... "pagina 7 di 15" e cosi via fino alla pagina 15
credo che con l'automation vba si possa fare ma ho cercato nella
documentazione vba di access e word senza successo
qualcuno puo aiutrami ?
Grazie,
Filippo.
Dim objWordApp As Word.Application
Dim Err as integer
Set objWordApp = GetObject(, "Word.Application")
If Err <> 0 Then
Err.Clear
Set objWordApp = CreateObject("Word.Application")
End If
objWordApp.Documents.Open "c:\DOC\riepilogo.doc"
Per posizionare del testo nell'intestazione di pagina del documento Word
metto dei segnalibri nel punto in cui voglio andare a scrivere qualcosa e
poi con:
Public Sub ImpostaHeaderPagina(wordApp As Word.Application, NomeBookMark as
string, aziendaName As String )
With wordApp
If wordApp.ActiveWindow.ActivePane.View.Type = wdNormalView Or
wordApp.ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
wordApp.ActiveWindow.ActivePane.View.Type = wdPrintView
End If
.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
.ActiveDocument.Bookmarks(NomeBookMark).Select
.Selection.Text = aziendaName
'reimposto il bookmark
.ActiveDocument.Bookmarks.Add NomeBookMark
end with
end sub
Per cambiare la numerazione di partenza del documento di Word:
ObjWordApp.ActiveWindow.Selection.HeaderFooter.PageNumbers.StartingNumber =
NuovoNumero
Il metodo migliore per scoprire gli oggetti di un documento Word è quello di
creare una macro in word che faccia quello che ti serve e andare poi a
vedere il codice generato, in questo modo scoprirai le infinite possibilità
di automazione che hai a disposizione.
Per un esempio completo di automazione di word puoi andare su
www.sitocomune.com e cercare nella sezione General 6.137 l'esempio di Namor.
Ciao
Cinzia
Ciao
Cinzia
Innanzitutto ti ringrazio,
avevo pensato (e uso) anche io alla registrazione macro
ma per eseguire automazioni simili a quelle da te indicate
è richiesta un esperienza al di la del registratore macro
e che io non possiedo quindi ti ringrazio.
Ne approfitto tornando ad access chiedendoti:
sai come si fa a leggere da vba il numero di pagine
di un report senza *aprirlo* ma impostando la where
(ovviamente) del recordset e poi leggendo il valore
del numero di pagine dal report chiuso :-(
io non ho trovato la possibilità.
mi serve perchè come accennato il valore del numero
di pagine del report access mi serve per importare la
numerazione delle pagine word eseguendo l'automazione
che tu mi hai suggerito.
Grazie,
Filippo.
temo che senza aprire il report non sia possibile conoscere il numero di
pagine a meno di non essere in una situazione particolarmente fortunata del
tipo che sai esattamente quanti record stanno in ogni pagina e quindi
sapendo il numero di record della select origine del report puoi ricavare
anche il n. di pagine, altrimenti a quest'ora non mi vengono altre
idee...se la notte porta consiglio ti faccio sapere...
> mi serve perchè come accennato il valore del numero
> di pagine del report access mi serve per importare la
> numerazione delle pagine word eseguendo l'automazione
> che tu mi hai suggerito.
>
> Grazie,
> Filippo.
>
ciao
Cinzia
No problem... viviamo lo stesso anche senza saper le pagine del report :-)
una divagazione... vedo che anche tu sei una notturna come me
mi sa che qui siamo in tanti questo NG per me e mitico vivo
solo la frustrazione di esser utile la minima parte di quanto
tutti voi siete utili a me.
a presto e buona notte anche se da come percepisco anche per te
questo NG è una bella droga (alla faccia della sigaretta) quindi
farai nottata.
di nuovo grazie.
Fil.
> di nuovo grazie.
> Fil.
>
Già, ma molto meno nocivo....
Cinzia