![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
プログラミング初心者です。少し教えていただけないでしょうか?
3*3で配置したテキストボックスに入力された内容をクリップボードにコピーするツールを作ろうと思っています。
受付番号 名前 備考
1[TextboxA1][Textbox12][Textbox13]
2[TextboxA2][Textbox22][Textbox23]
3[TextboxA3][Textbox32][Textbox33]
[実行ボタン]
受付番号は入力の簡素化のため"No."という文字列を入力したいと思っています。もっと効率的な方法があると思いますが
実行ボタンを押したときに下記のプログラムを実行すれば
一応クリップボードにコピーできることが分かりました。
Dim MsgAll as string
MsgALL = "No." & Textbox1.text & Textbox12.text & Textbox13.text & vbCrLf &TextboxA2.text (以下Textbox33.textまで)
Clipboard.SetDataObject(MsgAll)
ただし、3*3のテキストボックスは必ずしも全て入力されるわけではないので空白行の場合はその行をジャンプしたいのです。
各行の受付番号のテキストボックスに入力があるかどうかを判断させて空白だった場合はクリップボードにコピーさせなければよいのでは?と考えています。
色々ネットで調べた結果あらかじめ各行の内容を配列に代入しておき、
テキストボックスのコントロール名を取得してFOR文で処理を繰り返す方法を考えました。
lines(1) = "No." & TextboxA1.text & Textbox12.text & Textbox13.text & vbCrLf
lines(2) ="No." & TextboxA2.text & Textbox22.text & Textbox23.text & vbCrLf
lines(3) ="No." & TextboxA3.text & Textbox32.text & Textbox33.text & vbCrLf
For i = 1 To 3
ControlName = "TextBox_top" & i
If Me.Controls(ControlName).Text = "" Then
Else
MsgAll = MsgAll + lines(i)
Clipboard.SetDataObject(MsgAll)
End If
Next
以上のようなプログラムで動くかどうか不安でしたので
新たにプロジェクトを作り直し試みたところ動作したので
ほんとうのプログラムにこの部分のロジックを組み込んで動作させたところ
”オブジェクト参照がオブジェクト インスタンスに設定されていません。”のエラーが返り正常に動作しませんでした。
テキストボックス名などがテストプログラムなどとは異なりますが
他に異なる部分はありません。
なぜこのようなエラーが発生してしまうのでしょうか?
また、もっと効率のよい方法がある場合はその方法もご教示願えないでしょうか?
大変お手数ですがよろしくお願いいたします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
For i = 1 To 3
'ControlName = "TextBox_top" & i.ToString
If lines(i) = "No." & vbCrLf Then
Else
MsgAll = MsgAll + lines(i)
End If
Next
Clipboard.SetDataObject(MsgAll)
さっそくの回答ありがとうございます。
わざわざコントロール名を取得して・・・なんてことをしなくても
よかったんですね。
ありがとうございます。
参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) Excel VBA ユーザーフォーム内のラベルにテキストボックスの小計を出す方法 5 2022/08/17 14:27
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- その他(プログラミング・Web制作) ボールの動きがスムーズに動いてかつ目盛り線描画を維持するためには 4 2023/05/31 10:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォルダに名前をつけるバッチ...
-
ExcelのVBAで文章にある複数の...
-
EXCELからWORDの文章を取得
-
PHP GDでテキストを含む最小の...
-
ボールの動きがスムーズに動い...
-
RichTextBoxで指定行の色を自動...
-
あいまい検索方法について
-
VB2010 シリアル通信の文字列...
-
ドラゴン曲線を再帰で書く
-
VBA public変数はどのようなこ...
-
他のフォームから別のフォーム...
-
チェックボックスを操作できな...
-
C言語のサフィックスについて
-
C#のループでtextboxに値を入れ...
-
visual basic初心者です。 visu...
-
String型の値にスラッシュをつ...
-
文字列の中からある文字の個数...
-
VB.NETでのイベントの途中終了
-
VS CodeでTEXファイルにPDF形式...
-
FlexGridで文字色を変更。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sublimit textっていうエディタ...
-
テキストボックスかラベル上の...
-
ExcelのVBAで文章にある複数の...
-
WORd VBA 文章を単語に分解する
-
Googleシート「A1」でなくて「A...
-
Pythonのre.split()の正規表現...
-
XMLファイルのattribute値がう...
-
【VBS】クリップボード操作につ...
-
[VB6] SQLの作成について
-
Pythonでのstrip()とsplit()の...
-
vba 日本語以外を抽出について
-
助けてください!
-
perlによるxmlファイルの取得
-
ReadParseで同名のinput名は配...
-
表の文字の均等割りについて
-
DTPicker テキストクリアの方法
-
VB6.0 sp5]テキストボックスと...
-
文字列を配列に…。
-
文字列を日付型情報として計算...
-
Rubyにおける正規表現(一致し...
おすすめ情報