🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: adobe.scripting.indesign
Article #14545

Re: [JS] How does the associated XMLElements property work?

#14545
From: Mark_Volmer
Date: Wed, 28 Jan 2004 08:27
59 lines
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!webx
References: <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