Condividi:        

VBA Word - Compilazione automatica in base a menú a cascata

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

VBA Word - Compilazione automatica in base a menú a cascata

Postdi Brigitte » 10/04/19 09:45

Buongiorno,

Ho un file word con delle istruzioni di pagamento e vorrei inserire un menú a cascata contenente due scelte: EUR e GBP.
Vorrei che in base alla scelta nel menu anzidetto, vengano inseriti automaticamente i corrispondenti dettagli di pagamento (es banca, IBAN ecc.).
Per fare un esempio, se la banca che uso per i pagamenti in euro é Unicredit e l'IBAN é IT123456789 vorrei che cliccando EUR nel menu a tendina, sotto vengano riportati i dettagli

Banca: Unicredit
IBAN: IT123456789

Avete un'idea di come posso fare? Sono riuscita ad inserire il menú a tendina, ma la parte piú complessa é quella di collegare la valuta (EUR o GBP) con l'inserimento degli estremi di pagamento (banca, IBAN ecc)

Grazie in anticipo
Brigitte
Newbie
 
Post: 4
Iscritto il: 13/09/17 21:18

Sponsor
 

Re: VBA Word - Compilazione automatica in base a menú a casc

Postdi alfrimpa » 10/04/19 13:03

Ciao Brigitte

Non so perchè tu debba usare Word ma con Excel sarebbe una cavolata assoluta.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: VBA Word - Compilazione automatica in base a menú a casc

Postdi Anthony47 » 10/04/19 13:58

Confermo che in Excel sarebbe di una semplicita' totale

Vediamo se riusciamo a concludere qualcosa nonostante la poca competenza sul vba di Word...

Allora tu hai inserito un controllo contenuto del tipo "Casella di riepilogo a discesa"; fai in modo che il suo Titolo sia "Valuta"
Adesso vai dove vuoi posizionare il codice Iban e inseriscici un "segnalibro" che chiami IBAN

Poi premi Alt-F11 per aprire l'editor delle macro; cerca nel frame "Progetto - Project" a sx il modulo ThisDocument, e inseriscici questo codice:
Codice: Seleziona tutto
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim vArr, vIban, I As Long, cCCTxt As String
If ContentControl.Title = "Valuta" Then
    cCCTxt = ContentControl.Range.Text
    vArr = Array("EUR", "GBP", "USD")                   '<<< Le varie valute
    vIban = Array("Iban_Eur", "Iban_Gbp", "Iban_Usd")   '<<< Gli Iban, nella stessa sequenza
    On Error GoTo ExSub
    Selection.GoTo What:=wdGoToBookmark, Name:="IBAN"
    Selection.MoveEndUntil cset:=Chr(13), Count:=wdForward
    Selection.Range.Text = ""
    For I = 0 To UBound(vArr)
        If vArr(I) = cCCTxt Then Exit For
    Next I
    ActiveDocument.Bookmarks("IBAN").Range.Text = vIban(I)
End If
ExSub:
End Sub

Le righe marcate <<< vanno compilate come da commento

Per avere un'idea di come navigare all'interno del frame "Progetto - Project" guarda qui: viewtopic.php?f=26&t=103893&p=647675#p647675

A questo punto se compili l'elenco a discesa e poi esci dal controllo nel segnalibro prima impostato dovresti trovare l'Iban corispondente alla valuta indicata.

Prova e fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "VBA Word - Compilazione automatica in base a menú a cascata":


Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti