- ベストアンサー
VBで既存のExceシートlのTextBoxにデータをセットしたい
VBで印刷プログラムを作成しています。 既存(雛型)のエクセルシートにデータをセットし印刷しようとしています。 セルにセットする場合は xlSheet.Cells(1, 9).value = InputItem.ManuNum、等 でセットできるのですが テキストボックスにセットするときどうすればいいのかわかりません。 コードの記述方法を教えて下さい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Excelでは、TextBox は、シート上で、2種類ありますから、ちょっと、それを特定しないといけませんね。 片方が、コントロールツール側で、もう片方が、オートシェイプ側です。 xlSheet.OLEObjects("Textbox1").Object.Text xlSheet.DrawingObjects("Text Box 2").Text または、 xlSheet.Shapes("Text Box 2").DrawingObject.Text Index を使えば、 xlSheet.OLEObjects(1).Object.Text xlSheet.DrawingObjects(2).Text ということになると思います。
その他の回答 (1)
- kakusuke
- ベストアンサー率36% (95/259)
該当のシートを選択し、 メニュー上の三角定規の形のデザインモードボタン (非表示の場合は、VisualBasicツールバーを表示) をクリックしてください。 その上で、 テキストボックスを選択し、右クリックして [プロパティ]をクリックすると、 プロパティウインドウが表示され、 そこにテキストボックスの参照名(Nameプロパティ)が 載っていますので、 シート名.テキストボックスの参照名.Text = InputItem,MenuItem とすれば値をセットできます。
お礼
回答ありがとう御座います。 No.1さんの回答で解決しましたが、せっかくのアドバイス、実行してみました。 しかしながらデザインモードをonにしてもoffにしてもプロパティの表示内容は同じで参照名は表示されませんでした。 (オブジェクトの位置関係のラジオボタンが3つとオブジェクトを印刷するのチェックボックスが1つのみ) 今回はこれ以上追及いたしません。何かありましたらその時はよろしくお願いします。
お礼
出来ました!! xlSheet.DrawingObjects("Text Box 2").Text = "***" と記述したら転記しました。 どうもありがとうございました。