Article View: adobe.scripting.indesign
Article #14545Re: [JS] How does the associated XMLElements property work?
From: Mark_Volmer
Date: Wed, 28 Jan 2004 08:27
Date: Wed, 28 Jan 2004 08:27
59 lines
2984 bytes
2984 bytes
I've modified it to something that can be run as a .vbs script inside InDesign (Roberto, forgive me for being asuch a newbie but, was your code intended to be run from VisualBasic 6 ?).
I guess it can be coded more efficiently, it's just a quick hack ;-)
Set myInDesign = CreateObject("InDesign.Application.CS")
rem Dim myDocument = new InDesign.Document
rem Dim myPage As InDesign.Page
rem Dim myTextFrame As InDesign.TextFrame
Dim myBounds(3)
myBounds(0) = 10
myBounds(1) = 10
myBounds(2) = 20
myBounds(3) = 20
rem Dim myTagName As String
rem set myXMLTag = myInDesign.XMLTag
rem set myXMLElement = InDesign.XMLElement
If myInDesign.Documents.Count > 0 Then
set myDocument = myInDesign.ActiveDocument
set myPage = myDocument.Pages.Item(1)
set myTextFrame = myPage.TextFrames.Add
myTextFrame.GeometricBounds = myBounds
myTextFrame.Contents = "This is a first paragraph" + vbCr
myTextFrame.Contents = myTextFrame.Contents & "This is a second paragraph"
myTagName = "TextFrame_1"
set myXMLTag = myDocument.XMLTags.Add(myTagName)
set myXMLElement = myDocument.XMLElements.Item("Root").XMLElements.Add(myXMLTag, myTextFrame)
myTagName = "Paragraph_1"
set myXMLTag = myDocument.XMLTags.Add(myTagName)
set myXMLElement = myDocument.XMLElements.Item("Root").XMLElements.Add(myXMLTag, myTextFrame.Paragraphs.Item(1))
myTagName = "Word_4_Paragraph_1"
set myXMLTag = myDocument.XMLTags.Add(myTagName)
set myXMLElement = myDocument.XMLElements.Item("Root").XMLElements.Add(myXMLTag, myTextFrame.Paragraphs.Item(1).words.item(4))
myTagName = "Word_5_Paragraph_1"
set myXMLTag = myDocument.XMLTags.Add(myTagName)
set myXMLElement = myDocument.XMLElements.Item("Root").XMLElements.Add(myXMLTag, myTextFrame.Paragraphs.Item(1).words.item(5))
rem Dim myParagraph As InDesign.Paragraph
set myParagraph = myTextFrame.Paragraphs.Item(1)
rem Dim i As Integer
For i = 1 To myParagraph.AssociatedXMLElements.Count ' will be 2 items
MsgBox(myParagraph.AssociatedXMLElements.Item(i).contents)
Next
MsgBox(myParagraph.AssociatedXMLElements.Item(2).XMLElements.item(1).contents())
MsgBox(myParagraph.AssociatedXMLElements.Item(2).XMLElements.item(2).contents())
Else
MsgBox("No Document Found")
End If
Technical Details
Message-ID:
<2ccf94be.5@webx.la2eafNXanI>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!newsfeed01.sul.t-online.de!t-online.de!webxReferences:
<2ccf94be.-1@webx.la2eafNXanI>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f939a,19f5d2c2e731681c X-Google-Attributes: gidf939a,public X-Google-ArrivalTime: 2004-01-28 00:37:31 PST From: Mark_Volmer@adobeforums.com Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!newsfeed01.sul.t-online.de!t-online.de!webx Newsgroups: adobe.scripting.indesign Subject: Re: [JS] How does the associated XMLElements property work? Message-ID: <2ccf94be.5@webx.la2eafNXanI> Date: Wed, 28 Jan 2004 00:27:13 -0800 References: <2ccf94be.-1@webx.la2eafNXanI> Lines: 69 MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 8bit