- 締切済み
Excel TextBoxクラスのCharactersプロパティ
計算ソフトをインストールして実行しようとしたところ 「実行時エラー 1004 TextBoxクラスのCharactersプロパティを取得できません」 と言うエラーメッセージが出て実行できませんでした. ソフトをくれた友人は中国人で,わたしのPCの言語サポートが日本語だからうまくいかないと言われ,言語を英語(US)に変更したのですが,エラーメッセージが文字化けしただけで解決できませんでした… ちなみにExcel2007です. 普段プログラミングをしません…解決策をお願いします!
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- end-u
- ベストアンサー率79% (496/625)
>「実行時エラー 1004 TextBoxクラスのCharactersプロパティを取得できません」 エラーメッセージだけでは情報不足です。 >計算ソフトをインストールして... という事は、そのソースコードは公開されていないのでしょうか。 エラーが出るコードは提示できないですか? 提示できれば、同じ環境で検証してみる事は可能なのでしょうけど。 中国語サポートの問題なのか、2007バージョンの問題なのか、そちらで確かめる事は可能ですか? xl2003の中国語サポートの有無の違いでエラーが出るようなら環境を変えるしかないような気もします。 お使いのPCには中国語表示サポートは設定できないのでしょうか。 (コントロールパネル-地域と言語のオプション、もしくはIMEから? すみませんこの辺りは弱いです)
- imogasi
- ベストアンサー率27% (4737/17070)
(1)セル シートのセルに対してはこういう風に使えます。 Sub test01() Cells(1, 1).Characters(1, 2).Font.ColorIndex = 3 End Sub ーーー (2)シェイプ Sub test3() Dim aaa As Shape Dim wk As String On Error Resume Next Set aaa = ActiveSheet.Shapes(1) wk = aaa.TextFrame.Characters(Start:=2, Length:=4).Text MsgBox wk Set ww = aaa.TextFrame.Characters(Start:=2, Length:=4) ww.Font.ColorIndex = 3 End Sub もできます。 (3)エクセルのテキストボックス しかしエクセルのコントロールツールボックスのTextboxに対しては、Charactersプロパティは使えないと思います。 不統一な気がしますが。 TextBox1.XXX.Characrers()のXXXの必要な問題でもないようです。 http://en.allexperts.com/q/Excel-1059/VBA-Textbox-control-lacking.htmのAnser参照。 ーー http://july.homedns.org/varietywiki/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2FExcel%20VBA には出来るような記述が有るが走りません。 Sub test03() With ThisWorkbook.Sheets("Sheet1").TextBoxes("TextBox2").Characters(Start:=3).Font .Name = "MS P明朝" .Size = 20 End With End Sub Lengh:=2など入れても同じです。 こういうのはオブジェクト単位にプロパティが設定されているかどうかで決るので、やってみるほか無いのではないでしょうか。
補足
回答ありがとうございます. (1),(2)マクロ実行してみました.赤くなりました. ソフトはセルの数値から三次元グラフを作成するもので,おそらく結果のパラメータがテキストボックスで表示されるのに,そこに使用する文字列のプロパティが取得できない…?と勝手に想像しています. >オブジェクト単位にプロパティが設定されているかどうかで決るので 設定されていないとすると,新たに設定する必要がある(できる?)ということでしょうか.友人のPC(Windows2003,中国語サポート)では計算できるのでやっぱり日本語サポートに問題あり…?? 参考URLも質問を投稿する前に検索で見ていたのですが,よくわかりません…ソフト自体はアドインから計算を実行するのですが,プロパティの設定をマクロで指定できるということでしょうか?? せっかくいただいた回答を消化できてなくてすみません….
補足
遅くなってすみません… ソフトを発行しているのはアメリカなので,中国語サポートでなきゃ,というわけではないと思うのです.中国人の友人の話では英語サポートでもOKということだったので地域と言語のオプションから英語サポートに変更したのですがだめでした. ソースコードは確認してませんでしたので見てみる価値がありそうです. 結局,結果の数値が保存されないだけで,エラーメッセージの後に計算結果が表れていることがわかったので今はそれを書き写すことで対応してます…ご回答ありがとうございました.