いつもお世話になっております。
当方、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は「あい」しか取得できていない
North America
Europe, Middle East and Africa
Asia Pacific
Copyright © 2012 Adobe Systems Incorporated. All rights reserved.
Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy (updated 07-14-2009).