Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2013)
テキストボックスのprintobjectの値を変えたい
投稿日時: 18/02/08 22:29:25
投稿者: トキくん

ActiveXコントロールのテキストボックスを作りました。
プロパティのprintobjectの値を変えたいと思いマクロ記録に出てきたものを参考に書いてみましたが
サポートされていないとエラーが出ます。どのようにテキストボックスを指定すればよいのですか?
  
 エラーが出る記述
 ActiveSheet.Shapes.Range(Array("TextBox1")).PrintObject = True
 
宜しくお願いします。
 

回答
投稿日時: 18/02/08 22:49:33
投稿者: simple

ActiveSheet.OLEObjects("TextBox1").PrintObject = True
でしょうか。
もしシートモジュールに書くのなら、ActiveSheetを Meに変更してください。

回答
投稿日時: 18/02/08 22:56:09
投稿者: WinArrow
投稿者のウェブサイトに移動

トキくん さんの引用:
ActiveXコントロールのテキストボックスを作りました。
プロパティのprintobjectの値を変えたいと思いマクロ記録に出てきたものを参考に書いてみましたが
サポートされていないとエラーが出ます。どのようにテキストボックスを指定すればよいのですか?
  
 エラーが出る記述
 ActiveSheet.Shapes.Range(Array("TextBox1")).PrintObject = True
 
宜しくお願いします。
 

 
フォームオブジェクトの中に「テキストボックス」が無いから
ActiveXのテキストボックスを使ったものと推察します。
しかし、「printobject」は、サポートされていません。
でも、Trueにしたいということは、印刷したいんですよね?
設定しなくても印刷されますが・・・・
 
それから、図形の中のテキストボックスを使えば、「printobject」を利用できますよ。
マクロの記録では、コード作成できないから
サンプルを書いておきます
なお、デフォルトは、「True」です。
 
    Set TxtBox = ActiveSheet.Shapes("xxxx")
    TxtBox.DrawingObject.PrintObject = True
 
 

回答
投稿日時: 18/02/08 23:03:56
投稿者: WinArrow
投稿者のウェブサイトに移動

>ActiveXのテキストボックスには、「printobject」は、サポートされていません。
↑間違いでした。
 
サンプルコードです。
    Set TxtBox = ActiveSheet.Shapes(2)
    TxtBox.OLEFormat.Object.PrintObject = True

投稿日時: 18/02/08 23:27:33
投稿者: トキくん

ありがとうございました。
できました。
とても助かりました。oleobjectsになるんですね。
使わせていただきます。