Domanda

Cercando di accedere a CustomDocumentProperty dal codice VBA.Controllo il file personalizzato.xml esistente la proprietà personalizzata.Qualcosa che mi manca?Ecco il file DOCM!

Documento campione allegato

Aggiornato

Ho provato ad aggiungere utilizzando il codice qui sotto, ma non aggiunge nulla.Ho bisogno di contrassegnare un file come elaborato.C'è qualche altro modo che posso realizzare questo?

With ActiveDocument.CustomDocumentProperties
    .Add Name:="CustomNumber", _
        LinkToContent:=False, _
        Type:=msoPropertyTypeNumber, _
        Value:=1000
    .Add Name:="CustomString", _
        LinkToContent:=False, _
        Type:=msoPropertyTypeString, _
        Value:="This is a custom property."
    .Add Name:="CustomDate", _
        LinkToContent:=False, _
        Type:=msoPropertyTypeDate, _
        Value:=Date
End With
.

link aggiornato per aggiungere documento di campo personalizzato

È stato utile?

Soluzione

In XML (custom.xml), la proprietà del documento personalizzata ha fmtid="{3DC82474-74E0-4A77-944F-F36D8A5B0E58}" (o qualcosa del genere).

deve essere {D5CDD505-2E9C-101B-9397-08002B2CF9AE} o Word non lo riconosce come una proprietà documenta personalizzata.

Per la tua domanda aggiornata, non c'è niente di sbagliato nel tuo codice VBA, ma c'è un errore in Word. Hen inserisci proprietà del documento personalizzata, Word non contrassegna il documento come "sporco", quindi se non è stato modificato il documento in altro modo, quando si chiude, non salva le modifiche alle proprietà, a meno che tu non entri manualmente La finestra di dialogo Proprietà documento personalizzata. Ma non puoi farlo quando l'evento Document_CLose è in esecuzione.

Per affrontare ciò ti suggerisco di mettere

ActiveDocument.Saved = False
.

Alla fine del tuo gestore di eventi Document_Close. BTW, al momento il tuo codice causerà un errore se esistono già le proprietà.

Non credo che ciò sia menzionato nello standard ISO o anche nel documento di informazione di implementazione di Microsoft ([MS-OI29500] .pdf - ci sono alcune informazioni. In quest'ultimo, ma non è utile e in realtà un po 'confuso.

Alcuni di questi ID standard sono elencati qui ma non riesco a trovare nulla di quello che inizia con" {3D ". Immagino che qualcuno abbia creato il documento utilizzando Office Apri XML direttamente e ha appena inserito "qualsiasi vecchio GUID".

Personalmente, andrei nel XML e fissai il GUID. (Aggiornamento - ci ho provato, ma ho fallito ogni volta. Meglio per iniziare con un nuovo documento. E inserire la proprietà tramite la finestra di dialogo Proprietà Documento personalizzato standard, penso).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top