Newsgroup: it.comp.appl.access
Titolo: da Access a Word Segnalibro e Campo Modulo

saluti a tutti.
di tanto in tanto mi dedico ad access e devo sempre attingere dal vostro 
aiuto.
 
da qualche giorno smanetto per creare modelli di Word da aprire da Access
avendo parecchi campi da inviare a Word
volevo agevolare il lavoro automatizzando le operazioni.
 
da Access infatti ho creato una tabella dove con una serie di cicli ho 
inserito
i nomi dei  campi delle diverse tabelle del Db che mi servono,
inserendo un prefisso diverso per ogni tabella.
cosi mi trovo in una tabella tutti i nomi dei segnalibro che potrebbero
servirmi.
 
 
Da una maschera,  invio in un file di Word
il testo del record selezionato con la seguente riga:
wordApp.Selection.TypeText StrSegnalibro ' ...... (StrSegnalibro = la 
stringa del mio segnalibro)
ed è ok funziona
 
il segnalibro con il nome del record selezionato, con la seguente riga:
wordApp.ActiveDocument.Bookmarks.Add StrSegnalibro
ed è ok funziona
 
un campo modulo con la seguente riga:
wordApp.Selection.FormFields.Add wordApp.Selection.Range, 
type:=wdFieldFormTextInput
 
ma non riesco ad ottenere ciò che voglio, perché quando si aggiunge un campo 
modulo in word
questo inserisce in automatico un segnalibro che nomina testo1, testo2
testo3 ecc ecc
inoltre non sò come inserire una stringa nel testo predefinito del campo 
modulo
 
le domanda sono:
come inserire nel testo predefinito del campo modulo una stringa?
come evitare di far inserire i segnalibri in automatico(testo1, testo2
testo3 ecc ecc)
 
se qualcuno di voi ci ha già smanettato mi aiuti per favore
grazie a tutti!
 
 
 


Non ho ben compreso quello che fai e perche' lo fai.
Io parto dal presupposto che una volta definiti i segnalibro all'interno 
del file word questi siano "statici" e non necessitano che di 
sostituzione con un valore.
Il tutto lo realizzo semplicemente cosi':
Detto oDoc il documento word
Dim oBook
........
set oBook = oDoc.bookmarks("nomesegnalibro")
oBook.Range.Text = "valoresegnalibro"
 
Ovviamente anche il sottoscritto ha una tabella/collezione con le 
associazioni segnalibro<->sorgente valore
-- 
 
ac (x=y-1)

 ha scritto nel messaggio 
news:o0uYq.132789$GZ3.1...@tornado.fastwebnet.it...

bene mi spiego meglio.
la mia intenzione era di creare una procedura automatizzata
per la creazione di modelli di testo da usare con il db creato.
 
per cui si apriva un file di Word e contemporaneamente la maschera 
contenente tutti i segnalibro utilizzabili
si crive il testo in word quando serve il segnalibro lo si invia dalla 
maschera di access al punto giusto e poi si salva il file in modello di 
documento in una cartella specifica che verrà letta da access per l'invio 
dati.
 
solo questo mi piacerebe fare
grazie per l'aiuto
 
 
 
 
 
 
 
 

Renato ha scritto:

1. apri Word, abilita il registratore di macro, esegui le operazioni che
ti interessano (inserisci il nuovo segnalibro, cambiagli il nome e il
testo predefinito)
 
2. interrompi la registrazione della macro e vai a vedere il codice
generato (Strumenti->Macro->Visual basic editor), troverai i comandi VBA
corrispondenti alle operazioni che hai fatto con mouse e tastiera.
Saranno da aggiustare ma ti daranno un valido aiuto su come procedere.
 
Nel tuo caso il nome dei nuovi campi modulo appena immessi sarà sempre
"Testo1" visto che li rinomini man mano che vengono inseriti, quindi puoi
usare la stringa fissa "Testo1" per indicizzare l'insieme FormFields e
modificare le proprietà dei membri.
Sarà una cosa simile:
 
wordApp.Selection.FormFields("testo1").TextInput.EditType wdRegularText,
"Testo predefinito"
 
wordApp.Selection.FormFields("testo1").Name = "Nome_segnalibro"
 
Ciao.
-Marco-
 
 
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
 
 
 

Renato ha scritto:



 ha scritto nel messaggio 
news:jgucu1$t3h$1...@news.newsland.it...

Grazie appena posso ci smanetto un pò
anche se ad occhio mi sembra proprio quello che cercavo io
 
grazie dinuovo
Renato 
 
 
 


'-------------------------------------------risp
strano comportamento non riesco a capirlo
la riga di comando
wordApp.Selection.FormFields("testo1").Name = "Nome_segnalibro"
o la riga
wordApp.ActiveDocument.Bookmarks.Add "Nome_segnalibro"
se scritte come sopra li accetta, se al posto di: "Nome_segnalibro" metto
una variabile stringa tipo, StrSegnalibro
o nomi di campo tipo Me!Miotxt non funziona
o mi da errore, tipo nel primo caso: Errore  metodo 'Name' dell oggetto 
'FormField' non riuscito
dove sbaglio o quale potrebbe essere il problema?
 
grazie
 
 
 
 
 
 
 

 grazie
 
Forse usi dei caratteri non consentiti. Riporto una riga dell'help di word:
"I nomi dei segnalibri devono iniziare con una lettera, possono contenere
dei numeri ma non spazi. Per separare tra loro le parole è possibile
utilizzare il carattere sottolineatura, ad esempio 'Primo_titolo'"
Quindi lettere, numeri e underscore. Niente spazi, punti, trattini, ecc...


 ha scritto nel messaggio 
news:jhibut$6fe$1...@news.newsland.it...

No no.... ho imparato a stare attento ai caratteri ..
poi ho risolto creando una nuova maschera
e copiando pari pari tutto il codice senza cambiare nulla  funziona ...
veramente strano ho due maschere uguali stesso codice stesso file una 
funziona ed un'altra no..
misteri di access.....
veramente strano
 
grazie Marco
Ciao
Renato