Accedere alle proprietà del documento Word tramite Macro VBA

Federico Massimi 20 Punti di reputazione
2025-08-24T11:11:36.43+00:00

Ciao,

Sto cercando di fare una Macro per impostare delle proprietà del documento Word, però ho notato una cosa particolare, tra le proprietà del documento, ce ne sono alcune, ad esempio "Sinossi" o "Data di pubblicazione", che sono perfettamete usabili nel documento, ma dalle Macro non si vedeonoImmagine dell'utente

non appaiono ne qui:

For Each p In ActiveDocument.BuiltInDocumentProperties

e neanche qui:

 For Each p In ActiveDocument.CustomDocumentProperties

Allora la domanda è, come posso accedere a queste proprietà del documento?

Microsoft 365 e Office | Editore | Per il lavoro
0 commenti Nessun commento

Risposta accettata dall'autore della domanda
Anonimo
2025-08-26T14:11:12.82+00:00

Gentile @Federico Massimi,

Buona giornata!

Dopo un'attenta verifica e revisione, ecco i codici delle proprietà di Word che potrebbero esserti utili per il tuo scenario.

Ecco le proprietà dopo aver aggiunto "Commenti", "Titolo", "Oggetto" utilizzando le proprietà del documento integrate e "Data di pubblicazione" utilizzando le proprietà personalizzate:Immagine dell'utente

Per "Commenti", "Titolo", "Oggetto" usando le proprietà del documento integrate:

Sub SetDocumentProperties()     	
	With ActiveDocument.BuiltInDocumentProperties         		
		.Item("Comments").Value = "Sample test comments."         		
		.Item("Title").Value = "Sample test title."         		
		.Item("Subject").Value = "Sample test comments document subject."     	
	End With     	
	MsgBox "Built-in properties updated." 
End Sub

Per "Data di pubblicazione" utilizzare le proprietà personalizzate:

Sub SetCustomProperties()     
	Dim docProps As DocumentProperties     
	Set docProps = ActiveDocument.CustomDocumentProperties     
	' Add or update "Publish Date" as custom date     
	On Error Resume Next     
	docProps.Add Name:="Publish Date", LinkToContent:=False, Type:=msoPropertyTypeDate, Value:=Date     
	On Error GoTo 0     
	docProps("Publish Date").Value = #8/26/2025#  ' Set to a specific date     
	MsgBox "Custom properties updated." 
End Sub

Per mostrare l'elenco delle proprietà:

Sub ListAllDocumentProperties()     
	Dim prop As DocumentProperty     
	Dim msg As String     
	msg = "Built-In Properties:" & vbCrLf     
	For Each prop In ActiveDocument.BuiltInDocumentProperties         	
		msg = msg & prop.Name     
	Next prop     
	msg = msg & vbCrLf & "Custom Properties:" & vbCrLf     
	For Each prop In ActiveDocument.CustomDocumentProperties         
		msg = msg & prop.Name & ": " & prop.Value & vbCrLf     
	Next prop     
	MsgBox msg, vbInformation, "Document Properties" 
End Sub

Apprezzerei se potessi provare questi suggerimenti e farmi sapere se ci sono aggiornamenti o se è necessaria ulteriore assistenza.


Se la risposta è utile, per favore clicca su "Accetta Risposta" e gentilmente votala positivamente. Se hai ulteriori domande su questa risposta, per favore clicca su "Commenta".

Nota: Ti preghiamo di seguire i passaggi nella nostra documentazione per abilitare le notifiche via e-mail se desideri ricevere la notifica via e-mail relativa a questo thread.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Federico Massimi 20 Punti di reputazione
    2025-08-24T19:39:26.1266667+00:00

    Ciao, grazie della risposta. Per quanto riguarda le domande:

    Versione di word: Microsoft 365 Apps for business, non so se è questa la risposta alla domanda che mi hai fatto, ma sulle informazioni di Word vedo questo:

    Immagine dell'utente

    OS: Windows 11

    E si tratta di un documento basato sul modello standard di Word, ho solo aperto un documento vuoto base a sono entrato nella sezione delle macro con ALT+F11

    Quello che vorrei fare è un semplice:

    UpdateCustomDocumentProperty(tempDoc, "Title", DocumentName)
    

    Su tutte le proprietà del documento.

    La risposta è stata utile?

    0 commenti Nessun commento

  2. Anonimo
    2025-08-24T13:27:49.2466667+00:00

    Gentile @Federico Massimi,

    Buona giornata! Benvenuti nel forum delle domande e risposte!

    Per comprendere meglio la situazione e fornirti il supporto più adatto, potresti confermare le seguenti informazioni:

    • Quale versione di Word stai utilizzando (ad esempio, Word 2007, 2016, 2019 o Word Office 365)?
    • Stai eseguendo questo su Windows, Mac o un'altra piattaforma?
    • Questo documento è basato su un modello personalizzato o su un modello standard di Word?

    La tua conferma sarebbe molto utile!

    Riguardo alla tua situazione, le proprietà che hai menzionato, come “Sinossi” (che corrisponde a “Abstract” in inglese) e “Data pubblicazione” (che corrisponde a “Publish Date”), non sono incluse nelle collezioni standard BuiltInDocumentProperties o CustomDocumentProperties di Word VBA. Ecco perché non appaiono quando iteri attraverso quelle collezioni.

    Per garantire che la risposta che fornisco sia accurata, sto esaminando attentamente i dettagli. Nel frattempo, ecco alcune risorse che potrebbero essere utili:

    Procedura dettagliata: Associare controlli contenuto a parti XML personalizzate

    3.5.1 Cover Page Properties

    CoverPageProperties.PublishDate Property

    DocumentFormat.OpenXml.Office.CoverPageProps Namespace

    Se puoi condividere un po' di più sulla tua situazione, potrei essere in grado di suggerire alcuni passaggi successivi utili.

    Ti prego di farmi sapere quando ci sono aggiornamenti o se hai bisogno di ulteriore assistenza. Qualsiasi aggiornamento tu possa condividere sarebbe davvero utile.

    Apprezzo il tuo tempo e non vedo l'ora di sapere come stanno andando le cose!


    Se la risposta è utile, per favore clicca su "Accetta Risposta" e gentilmente votala positivamente. Se hai ulteriori domande su questa risposta, per favore clicca su "Commenta".

    Nota: Ti preghiamo di seguire i passaggi nella nostra documentazione per abilitare le notifiche via e-mail se desideri ricevere la notifica via e-mail relativa a questo thread.

    La risposta è stata utile?

    0 commenti Nessun commento

Risposta

Le risposte possono essere contrassegnate come "Accettata" dall'autore della domanda e "Consigliata" dai moderatori, in modo da consentire agli utenti di sapere che la risposta ha risolto il problema dell'autore.