2 Stimmen

Wo ist die Schemabibliothek von Word 2007 gespeichert?

In Word 2007 können XML-Schemata an ein Dokument angehängt werden (über die Symbolleiste Entwickler | Gruppe XML | Schaltfläche Schema). Wo werden diese Schemabibliotheksinformationen gespeichert?

Ich habe Dokumente, die ich mit benutzerdefinierten XML-Tags auf der Grundlage eines Schemas erstellt habe, aber wenn ich das Dokument und das Schema an eine andere Person weitergebe, wird das Schema als nicht verfügbar markiert, vermutlich weil der Dateispeicherort des Schemas ein anderer ist.

Gibt es eine Möglichkeit, diese Informationen zu bearbeiten, um den Pfad zu einem bestimmten Schema zu ändern?

3voto

Todd Main Punkte 31727

Sie wird nicht zusammen mit dem docx gespeichert, sondern nur der Pfad dazu. Wenn Sie also ein Dokument weitergeben, wird der Link fast immer unterbrochen. VSTO kann dies umgehen, indem es die XSD als Ressource in die Anwendung einbettet.

Aber für VBA ist es schwieriger - Sie müssen einen Pfad haben, auf den Sie sich auf dem Computer jedes Benutzers verlassen können, und dann Ihre XSD dort bereitstellen. Eine Möglichkeit ist die Synchronisierung der Document_Open (oder verwenden Sie einfach die AutoOpen ), so dass Sie, wenn ein Benutzer das Dokument öffnet (Warnung: Makrosicherheit muss ausprobiert werden), einfach Ihre XSD "schreiben" können, die als String in Code-Behind hart kodiert ist, und sie dann in eine Datei schreiben und diese Datei dann mit einer Routine wie anhängen:

Dim objSchema As XMLNamespace
Set objSchema = Application.XMLNamespaces.Add("c:\something\mynewlycreated.xsd")
objSchema.AttachToDocument ActiveDocument

Da Sie also keine Artefakte hinterlassen, können Sie diese XSD vom Computer des Benutzers am Document_Close o AutoClose .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X