5 返信 最新の回答 日時: Sep 27, 2006 12:59 PM ユーザー:(てんてん-19980238)

    VBSで書体を指定する方法

      Windows2000のCS/CS2から、VBScriptによる書体指定がうまくいかず困っています。

      1.スクリプトの書き方がおかしい(書体指定しているオブジェクトがちがう)
      2.書体名の指定方法が悪い
      3.両方

      あたりだと思いますが、修正方法をご教授いただけませんでしょうか。

      基本的な質問で恐縮ですが、よろしくお願いいたします。

      pageNum = 1
      x = 20
      y = 20
      Set docObj = app.Documents.Add
      Set pageObj = docObj.Pages.Item(pageNum)

      'テキストボックス作成
      Set txtObj = pageObj.textFrames.add()

      txtObj.visibleBounds = Array (20, 20, 125, 190)
      txtObj.contentType = idContentType.idtextType

      txtObj.contents = "こんにちは!"
      txtObj.Paragraphs(1).PointSize = "100Q"

      'いずれも上手く動いてくれません

      '↓「オブジェクトでサポートされていないプロパディまたはメソッドです」とエラーが出る
      'txtObj.Paragraphs(1).FontStyleName = "ヒラギノ角ゴ Pro"

      '↓何も変化無し
      'FontStyleName = "ヒラギノ角ゴ Pro"
        • 1. Re: VBSで書体を指定する方法
          txtObj.Texts(1).PointSize = "100Q"
          ではどうですか?
          • 2. Re: VBSで書体を指定する方法
            Level 1
            youkiさん>

            はじめまして。アドバイスありがとうございます。

            txtObj.Texts(1).PointSize = "100Q"
            でも
            txtObj.Paragraphs(1).PointSize = "100Q"

            と同様に書体のQ数指定は動きました。なので

            txtObj.Texts(1).FontStyleName = "ヒラギノ角ゴ Pro"

            としてみましたが、やはり上記と同じエラーが出ています↓。
            「オブジェクトでサポートされていないプロパディまたはメソッドです」

            なぜか書体指定だけがうまくいかないのです。
            • 3. Re: VBSで書体を指定する方法
              Level 1
              txtObj.Paragraphs(1).AppliedFont = "小塚ゴシック Pro"
              txtObj.Paragraphs(1).FontStyle = "H"

              でどうですか。
              • 4. Re: VBSで書体を指定する方法
                Level 1
                InDesignは使っていないが・・・。

                > 'FontStyleName = "ヒラギノ角ゴ Pro"
                スタイルネームは普通はBoldやRegularとかを指すのでは?
                フォント名ならfontFamilyとかでは? リファレンスではどうなっています?

                以下サイトはJavaScriptでの例だが。こういうサイトも参照してみては?

                ・InDesign CS2自動化作戦 with JavaScript
                http://www.openspc2.org/book/InDesignCS2/

                上記サイトの著者でもある古籏一浩さん(著作多し)が執筆したメールマガジンのバックナンバーに、以下の記事があります。

                ■クリエイター手抜きプロジェクト(47)
                InDesign CS編 フォント(書体)の指定
                http://blog.dgcr.com/mt/dgcr/archives/20050530000000.html
                • 5. Re: VBSで書体を指定する方法
                  Level 1
                  おーまちさん、brazilさん>

                  早々にありがとうございます。
                  結論ですが、おーまちさんのコードでビンゴ!でした。

                  txtObj.Paragraphs(1).AppliedFont = "小塚ゴシック Pro"
                  txtObj.Paragraphs(1).FontStyle = "H"

                  こちらを拝見するとbrazilさんもおっしゃっているように
                  FontStyleは書体の太さ指定のようですね。

                  最近はリファレンスを開くのも億劫ではなくなってはまいりましたが、
                  あの例文すら掲載されていない記述形式だと、
                  なかなか目的のスクリプト文を見つけることができなくて…

                  本当に助かりました。
                  どうもありがとうございました。