Newsgroup: it.comp.lang.visual-basic
Titolo: gestione dei rientri testo in VB su un doc. word

Ciao
Sto trattando del testo su Access per portarlo su Word
Qualcuno potrebbe dirmi come impostare in Vb i rientri dx e sx del testo per
inserire un indirizzo oppure una intestazione su un documento word?
Ringrazio anticipatamente
Maurizio

 oppure una intestazione su un documento word?
"Intestazione" nel senso di intestazione di pagina?
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

 wrote in message
8tok09$nh83c$3...@ID-52090.news.dfncis.de...

Ho l'esigenza di farlo su Access perchč mi deve funzionare su qualsiasi
computer e su qualsiasi
word, devo inserire l'istruzione nell'oggetto Word che mi sono creato e
cioč:
Dim WordDoc As Object
Set WordDoc = CreateObject("Word.Application")
WordDoc.Documents.Add
WordDoc.Visible = True
With WordDoc
    .Activate
    .Selection.TypeText " Rossi Mario "
    .Selection.TypeParagraph
    .Selection.TypeText " Via degli Ulivi, 15 "
    ecc.
End With
.........
il testo al quale devo  dare ad es. un rientro verso dx di 15 č "Rossi
Mario" e "Via degli Ulivi, 15"
qual'č l'istruziona esatta?
oltretutto vorrei anche che il documento WordDoc mi si apra a pieno schermo
ho provato con
"WordDoc.Maximize"  ma non funziona
grazie
Ps. per intestazione intendo l'indirizzo del destinatario
ciao

Dim WordDoc As Object
Set WordDoc = CreateObject("Word.Application")
WordDoc.Documents.Add
WordDoc.Visible = True
Per massimizzare Word:
WordDoc.WindowState = wdWindowStateMaximize
Per modificare il rientro della "via degli ulivi"
With WordDoc
    .Activate
    .Selection.TypeText "Rossi Mario "
    .Selection.TypeParagraph
    .Selection.TypeText "Via degli Ulivi, 15 "
    .Selection.Paragraphs.LeftIndent = 15
End With

Dim WordDoc As Object
Set WordDoc = CreateObject("Word.Application")
WordDoc.Documents.Add
WordDoc.Visible = True
Per massimizzare Word:
WordDoc.WindowState = wdWindowStateMaximize
Per modificare il rientro della "via degli ulivi"
With WordDoc
    .Activate
    .Selection.TypeText "Rossi Mario "
    .Selection.TypeParagraph
    .Selection.TypeText "Via degli Ulivi, 15 "


 wrote in message
8tonag$ka$1...@fe1.cs.interbusiness.it...

purtroppo con "wdWindowStateMaximize" mi da errore, variabile non definita
e con ".Selection.Paragraphs.LeftIndent = 15" mi da errore run time 438,
proprietà o metodo non supportati dall'oggetto
forse perchè non ho installato nessuna libreria di Word?
ci dovrebbe essere però un altro modo di scrittura.......
Maurizio

 > Set WordDoc = CreateObject("Word.Application")
Ma perche' questa continua ostinazione con il late binding ?
Non sarebbe meglio, ed anche piu' facile in fase di scrittura del codice,
cosi' si sfrutta l' intellisense dell ' ide, istanziare word cosi':
Private wd As Word.Application
Set wd = New Word.Application
ecc., ecc.. ?
Ciao
Aldo


 Ps. per intestazione intendo l'indirizzo del destinatario
Non farlo piu`;-)))
Non ho capito se hai colto l'indicazione che ti ho dato in precedenza
relativa al registratore macro. Cerchero` di essere piu` chiaro:
Apri Word
Apri il documento
Attiva il registratore macro
Scrivi l'indirizzo con le impostazioni che desideri.
Interrompi la registrazione della macro.
Ispeziona il codice risultante.
Se ti occorre, potresti postare il codice risultante in modo che possiamo
fare insieme qualche considerazione in ordine al modo da tenere per
adattarlo all'uso anche al di fuori di un progetto word; ovvero access, nel
tuo caso, o visual basic.


 e con ".Selection.Paragraphs.LeftIndent = 15" mi da errore run time 438,
Probabilmente stiamo utilizzando due versioni di Office differenti: io ho
Office 2000

 cosi' si sfrutta l' intellisense dell ' ide
Questo solo perchè usi "Word.Application" anzichè "Object" ; tale soluzione
(chiamata associazione anticipata) permette di ottenere prestazioni
migliori, ma perdi la possibilità di avere un riferimento a QUALSIASI
oggetto, infatti il codice che scrivi può essere riferito SOLO alla classe
dichiarata. In alcuni casi (ad esempio Sub o Function) può essere comodo
poter ignorare il tipo di oggetto.
Tuttavia spesso (come giustamente hai osservato) ci si dimentica di fare le
cose per bene, e nella stesura del codice si perdono alcune delle
funzionalità offerte dai linguaggi


da Maurizio a Maurizio
il problema in parte l'ho risolto dando direttamente dei valori, ad es.
.LeftIndent = "CentimetersToPoints(15)" non lo riconosceva e allora ho
scritto:
.LeftIndent = 250 (che ovviamente non sono più centimetri)
ora mi rimane da risolvere la massimizzazione
.WindowState = wdWindowStateMaximize
purtroppo non mi riconosce "wdWindowStateMaximize"
Il fatto delle macro potrebbe essere una soluzione, come si lanciano da
access?
sono gestibili completamente da access o devo farle su word?
sarebbe molto meglio se tutto fosse gestibile da access anche perchè una
volta fatto il
programma, dovrò portarlo su altri computer e non vorrei aggiungere macro su
altri
programmi.
considera comunque che io parto con access perchè posso realizzare maschere
e gestire
un DB di indirizzi, a word arrivano dei dati che sono variabili e che in
gran parte la loro
gestione è in automatico, ad es. quando seleziono un nome, mi carica
l'indirizzo ecc. ecc.
ciao
Maurizio

 considera comunque che io parto con access perchè posso realizzare
maschere e gestire un DB di indirizzi, a word arrivano dei dati che sono
variabili e che in gran parte la loro gestione è in automatico, ad es.
quando seleziono un nome, mi carica l'indirizzo ecc. ecc.
--


Ti ringrazio Maurizio
sei stato molto chiaro ed esauriente
ciao
Maurizio