• ベストアンサー

VBで既存のExceシートlのTextBoxにデータをセットしたい

VBで印刷プログラムを作成しています。 既存(雛型)のエクセルシートにデータをセットし印刷しようとしています。 セルにセットする場合は xlSheet.Cells(1, 9).value = InputItem.ManuNum、等 でセットできるのですが テキストボックスにセットするときどうすればいいのかわかりません。 コードの記述方法を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 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 ということになると思います。

koji32071957
質問者

お礼

出来ました!! xlSheet.DrawingObjects("Text Box 2").Text = "***" と記述したら転記しました。 どうもありがとうございました。

その他の回答 (1)

  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.2

該当のシートを選択し、 メニュー上の三角定規の形のデザインモードボタン (非表示の場合は、VisualBasicツールバーを表示) をクリックしてください。 その上で、 テキストボックスを選択し、右クリックして [プロパティ]をクリックすると、 プロパティウインドウが表示され、 そこにテキストボックスの参照名(Nameプロパティ)が 載っていますので、 シート名.テキストボックスの参照名.Text = InputItem,MenuItem とすれば値をセットできます。

koji32071957
質問者

お礼

回答ありがとう御座います。 No.1さんの回答で解決しましたが、せっかくのアドバイス、実行してみました。 しかしながらデザインモードをonにしてもoffにしてもプロパティの表示内容は同じで参照名は表示されませんでした。 (オブジェクトの位置関係のラジオボタンが3つとオブジェクトを印刷するのチェックボックスが1つのみ) 今回はこれ以上追及いたしません。何かありましたらその時はよろしくお願いします。

関連するQ&A