+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 2 su 2

Discussione: WORD - Macro calcolo data futura con selezione intervallo da Listbox

  1. #1
    enric980 non è in linea Novello
    Post
    1

    WORD - Macro calcolo data futura con selezione intervallo da Listbox

    Ciao a tutti,
    sono nuovo del forum e (purtroppo) anche di programmazione ... ho un problema:
    in Word (2007) devo far calcolare al sistema la data futura partendo da una data da me scritta sul foglio (al momento marcata tramite segnalibro, poi vedremo se inserisco un oggetto controllo activex di tipo data), e selezionando un intervallo da una Listbox (creata sempre tramite il menù Controlli).
    Guardando in internet e la guida di VBA, ho scritto (/copiato dalla guida ecc..) un po' di codice e qualcosa ho combinato.
    Se metto solo dei bookmark la macro funziona correttamente, se invece cerco di inserire dei riferimenti ai controlli (es.: la Listbox sopra menzionata) mi dà errore "424 - necessario oggetto". Probabilmente devo definire in VBA il controllo come oggetto, ma non essendo al momento capace chiedo a voi:

    codice:
    Sub data_futura()
    '
    ' data_futura Macro
    
    Dim FirstDate As Date        ' Dichiara le variabili.
    Dim IntervalType As String
    Dim Number As Byte
    Dim Msg
    
    
    
    ' Dim objCC As ContentControl                   '----- questa parte l'ho utilizzata per far creare la listbox  a VBA, ma vorrei rimanesse parte integrata del modulo. 
    ' Dim objCE As ContentControlListEntry
    ' Set objCC = ActiveDocument.ContentControls.Item("intervallo")
    ' objCC.Title = "Intervallo"
    ' If objCC.ShowingPlaceholderText Then _
    ' objCC.SetPlaceholderText , , "Intervallo: "
    'List entries
    ' objCC.DropdownListEntries.Add "0", 0, 1
    ' objCC.DropdownListEntries.Add "6 mesi", 6, 2
    ' objCC.DropdownListEntries.Add "1 anno", 12, 3
    ' objCC.DropdownListEntries.Add "1 anno e 1/2", 18, 4
    ' objCC.DropdownListEntries.Add "2 anni", 24, 5
    
    
    
    IntervalType = "m"            ' "m" specifica i mesi come intervallo.
    FirstDate = CDate(ActiveDocument.Bookmarks("Data_misure").Range.Text)
    
    Number = Listbox1.Value    '- questa riga di comando mi da errore 424 - necessario oggetto
    
    MsgBox Listbox1.Value
    
    Msg = "Nuova data: " & DateAdd(IntervalType, Number, FirstDate)
    MsgBox Msg
    
    
    End Sub

  2. #2
    L'avatar di dragone bianco
    dragone bianco non è in linea Moderatore Globale
    Luogo
    Aosta
    Post
    7,736
    Ciao
    non ben capito cosa vuoi ottenere
    una semplice calcolo avendo una data inserita o cosa
    Queste due date sono vicine tra loro
    Prima di usare il VBA potresti prendere in considerazione di inserire una tabella Excel con 2 celle e quindi fare i calcoli nella seconda cella
    Ciao

+ Rispondi al Thread

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi