Skip navigation
Home/Support/

Forums

163 Views 0 Replies Latest reply: Aug 10, 2010 7:56 AM by morikoro0421 RSS
morikoro0421 Calculating status... 1 posts since
Aug 10, 2010
Currently Being Moderated

Aug 10, 2010 7:56 AM

Win2000+VB6+Illustrator9での2バイト文字の取得について

いつもお世話になっております。
当方、Windows2000+VB6+Illustrator9.0.2で開発業務を行っております。
どうしても分からない点が一点ございますので、どなたかお力添えをいただければ幸いです。
よろしくお願いいたします。

現在、Illstrator9.0.2で作成されたドキュメントに対して、
ドキュメントの中で使用しているテキストオブジェクトのプロパティ
(フォント名やサイズ、長体率など)を取得し、
CSVとして吐き出すようなプログラムを作成しております。

その中で、テキストオブジェクト(TextArtItem)に日本語(2バイト文字)が含まれている場合、
その文字列(Contents)の取得が不安定になります。
具体的には、まったく取得できないか、最初の2~3文字のみしか取得できなくなります。
1バイト文字のみ含まれている場合は問題なく取得できております。
(参考:Windows7+VB2008+IllustratorCS5環境では
2バイト文字でもContentsメソッドで問題なく取得できることを確認しました)

おそらく、何か工夫をしなくてはいけないと思うのですが、行き詰ってしまいました。
Illustrator9における2バイト文字の取得方について、何かいい方法があればご教示願います。
よろしくお願い申し上げます。

以下、ソースです。

[準備]
Illustrator9.0.2でレイヤー1にテキスト入力ツールで「あいうえお」と入力し、
test.aiとしてcドライブ直下に保存
[ソース]
Sub testtest()
     Dim App As Illustrator.Application
     Dim Doc As Illustrator.Document
     Dim Lyr As Illustrator.Layer
     Dim Txt As Illustrator.TextArtItem
     Dim Str As String
     App.Open("C:\test.ai")
     Set Doc = App.ActiveDocument

     For Each Lyr In Doc.Layers
          For Each Txt In Lyr.TextArtItems
               Str = Txt.Contents
          Next
     Next
'変数Strをcsvに吐き出す処理は省略
End Sub

[結果]

変数Strは「あい」しか取得できていない

More Like This

  • Retrieving data ...

Bookmarked By (0)

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points