Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Scrivere Valori in Word da Access

489 views
Skip to first unread message

Filippo Quaranta

unread,
Mar 23, 2005, 6:20:33 AM3/23/05
to
Buongiorno,

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.

Cinzia

unread,
Mar 23, 2005, 8:18:06 AM3/23/05
to

"Filippo Quaranta" <n...@quarantainformatica.com> ha scritto nel messaggio
news:%23wlMWp5...@TK2MSFTNGP15.phx.gbl...
> Buongiorno,
>
> Ho una necessità di automatismo di word da access 2000/ADP SQL SERVER ma
Ciao Filippo,
per aprire un documento Word di cui conosci il percorso puoi usare queste
istruzioni:


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

Filippo Quaranta

unread,
Mar 23, 2005, 6:25:35 PM3/23/05
to

"Cinzia" <cinziapagani-...@tiscali.it> ha scritto nel messaggio
news:%23jV7ap6...@TK2MSFTNGP10.phx.gbl...
>
> [CUT]

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.

Cinzia

unread,
Mar 23, 2005, 6:44:27 PM3/23/05
to
Ciao Filippo,

>
> 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à.

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


Filippo Quaranta

unread,
Mar 23, 2005, 6:59:29 PM3/23/05
to

"Cinzia" <cinziapagani-...@tiscali.it> ha scritto nel messaggio
news:uA9JbHAM...@TK2MSFTNGP12.phx.gbl...
> Ciao Filippo,
>>
> [CUT]
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.

Cinzia

unread,
Mar 24, 2005, 5:25:29 AM3/24/05
to
[CUT]

> 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.
>

Già, ma molto meno nocivo....
Cinzia


0 new messages