1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Помогите со скриптом

Тема в разделе "Верстка и дизайн", создана пользователем -, 3 июл 2003.

Модераторы: Mic Nau
  1. Guest

    Такая вот задачка: есть около 350 страниц (левое и правое поле различаются)и на каждой нужно расположить текстовой бокс, к тому же они должны быть слинкованными друг с другом. Не получается скрипт. Бокс создается только на одной из страниц разворота. Как линковать их друг с другом?
     
  2. Guest

    Скрипт пришли.
     
  3. Guest

    на email сбросить не получилось

    Вот такой скрипт:


    Dim myInDesign As InDesign.Application

    Sub main()
    Set myInDesign = CreateObject("InDesign.Application.2.0")

    Set myWindow = myInDesign.ActiveWindow
    Set myDocument = myInDesign.ActiveDocument
    For i = 1 To 351
    Set myTextFrame = myDocument.Pages.Item(i).TextFrames.Add
    Rem Specify the size and shape of the text frame.
    myTextFrame.GeometricBounds = Array("184 mm", "17 mm", "195.154 mm",
    "130 mm")
    Next

    End Sub


    сильно ногами не пинать :) я только учусь...

    ------
    tonych
     
  4. Guest

    === Настройки ======
    fTop = 184
    fLeft = 17
    fBottom = 195.154
    fRight = 113
    ==================

    Dim myInDesign

    Set myInDesign = CreateObject("InDesign.Application.2.0")
    Set myDocument = myInDesign.ActiveDocument
    Set myWindow = myInDesign.ActiveWindow
    i = 0
    For Each mySpread In myDocument.Spreads
    For Each myPage In mySpread.Pages
    bPage = myPage.Bounds
    If i = 0 Then
    Set myTextFrame = myPage.TextFrames.Add
    myTextFrame.GeometricBounds = Array(fTop & " mm", (bPage(1) + fLeft) & " mm", fBottom & " mm", (bPage(1) + fLeft + fRight) & " mm")
    Else
    Set myTextFrame.NextTextFrame = myPage.TextFrames.Add
    myTextFrame.NextTextFrame.GeometricBounds = Array("184 mm", (bPage(1) + 17) & " mm", "195.154 mm", (bPage(1) + 17 + 113) & " mm")
    Set myTextFrame = myTextFrame.NextTextFrame
    End if
    i = 1
    Next
    Next

    Обрати внимание, что пейджи лежат не просто так, а в колекции спридов (разворотов, как я понимаю). Удачи!
     
  5. Guest

    Запостил сначала немного недоделанный скрипт. И к тому же не указал, что данный скрипт написан VBScript. То есть копируешь его текст в буфер обмена, создаешь пустой текстовый файл с расширение .vbs, копируешь из буфера туда, сохраняешь - у тебя работающий скрипт.

    ' НАЧАЛО СКРИПТА
    '=== Настройки ======
    fTop = 184
    fLeft = 17
    fBottom = 195.154
    fRight = 113
    '==================

    Dim myInDesign

    Set myInDesign = CreateObject("InDesign.Application.2.0")
    Set myDocument = myInDesign.ActiveDocument
    Set myWindow = myInDesign.ActiveWindow
    i = 0
    For Each mySpread In myDocument.Spreads
    For Each myPage In mySpread.Pages
    bPage = myPage.Bounds
    If i = 0 Then
    Set myTextFrame = myPage.TextFrames.Add
    myTextFrame.GeometricBounds = Array(fTop & " mm", (bPage(1) + fLeft) & " mm", fBottom & " mm", (bPage(1) + fLeft + fRight) & " mm")
    Else
    Set myTextFrame.NextTextFrame = myPage.TextFrames.Add
    myTextFrame.NextTextFrame.GeometricBounds = Array(fTop & " mm", (bPage(1) + fLeft) & " mm", fBottom & " mm", (bPage(1) + fLeft + fRight) & " mm")
    Set myTextFrame = myTextFrame.NextTextFrame
    End if
    i = 1
    Next
    Next
    ' КОНЕЦ СКРИПТА

    Обрати внимание, что пейджи лежат не просто так, а в колекции спридов (разворотов, как я понимаю). Удачи!
     
  6. Guest

    Закрутилось!!! Большое спасибо!!!!
    ps а чем отличается vbscript от обычного vb? какие преимушества???
     
  7. Guest

    Ну дык, а чего не будет крутиться-то. Компилить, к примеру, не нужно. Да и средства разработки бесплатней некуда: FAR, Notepad или чего еще с подсветкой синтаксиса VB. Проще (хотя и VB достаточно прост), например, все данные в переменных исключительно типа Variant. Ну и т.д.
     
Модераторы: Mic Nau

Поделиться этой страницей