![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Microsoft SQL ServerのReport Service機能を使って、データの一覧をExcelに出力するようなツールを作りました。
次に、出力されたExcelにデータを追記して、SQL Serverのテーブルにデータを書き戻すということをしようとしています。
そこで、出力されたExcelに、書き戻しボタンを組み込んでしまおうと考えたのですが、外部のプログラムからExcelにマクロを組み込むにはどうしたらよいのかがわかりません。
書き戻しボタンを持つフォーマットファイルを用意しておいて、そこにデータを出力する、というやり方もあるかとは思いますが、Report Serviceが勝手にExcelへの出力をやってくれるので、今回はそのやり方ではなく、外部からVBAを組み込むという方針で考えております。
No.1ベストアンサー
- 回答日時:
(1)VBAのプログラムをExportしておく。
→ "hoge.bas"(2)該当ブックで、下記メソッドを実行する。
例:WorkBooks(1).VBProject.VBComponents.Import "hoge.bas"
これで、外部にあるBasicプログラムを取り込めます。
ところで、「外部のプログラム」って何ですか?COMオブジェクトが
扱える言語ですよね?
この回答への補足
VBProjectがエラーで落ちたため、調べたところ、セキュリティの設定で「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」にチェックを入れる必要がありました。
この処理自体もプログラムでやっちゃうことってできるのでしょうか?
回答ありがとうございます。
外部プログラムはJScript?だと思います。.jsの拡張子です。
クライアントサイドで動くやつです。
Excel VBAみたいな感じでExcelのデータを扱えるので、大丈夫だと思います。
あと、そのExportしたプログラムを動かすためのボタンも同様に取り込み可能ですか?
No.2
- 回答日時:
>ボタンも同様に取り込み可能ですか
ボタンは作るんです。
WorkSheet(1).Buttons.Add 横位置, 縦位置, 幅, 高さ
WorkSheet(1).Buttons(1).Caption = "巻き戻し"
WorkSheet(1).Buttons(1).OnAction = "メソッド"
それと、Windowsであるなら、VBScriptで操作しないとExcelの
インスタンスが消滅しませんので、VBScriptで実施するか、
JavaScriptにこだわるなら、ScriptControlオブジェクト上で、
VBSのステートメントを実行するような方法で操作します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- PostgreSQL ポストグレにあるExcelファイルを開くには 1 2022/12/13 18:07
- その他(コンピューター・テクノロジー) デジタル化推進でうちの会社では、ペーパーレス化が進んでいます。 そこで、質問です。 会社では、検査課 3 2023/06/11 00:17
- Excel(エクセル) Excel同士のデータの突合 3 2023/08/07 16:34
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- その他(Microsoft Office) ExcelデータをPDFにして保存するとWordデータに変換されるようになった 10 2023/06/20 09:03
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル比較について
-
テキストの各行に行番号をつけ...
-
VC++でUTF-8のファイルを出力し...
-
サウンド出力のデバイスを選択...
-
Wordマクロで指定したフォルダ...
-
FORTRAN:出力ファイルをフォル...
-
windowsでテキストファイルの比...
-
テキストファイルに改行コード...
-
Excel VBAを外部プログラムから...
-
CreateProcess関数と実行後の戻...
-
VBA でメモ帳へ保存する際の保...
-
C言語での印刷方法
-
外国語とCSVについて
-
Acccess レポートをグループ別...
-
(VBA)書式が変更されてしまい...
-
AccessVBA複数レポート条件毎に...
-
fwprintf()について
-
ファイル形式またはファイル拡...
-
シェルコマンドの 2>&1 とはど...
-
TeXで使用するFONTを作成しよ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンド(例えばls)の出力結果...
-
VC++でUTF-8のファイルを出力し...
-
Acccess レポートをグループ別...
-
ファイル出力の場所を指定
-
ファイル形式またはファイル拡...
-
シェルコマンドの 2>&1 とはど...
-
Wordマクロで指定したフォルダ...
-
テキストファイルに改行コード...
-
fwprintf()について
-
二次元配列をクリップボードに...
-
外国語とCSVについて
-
ファイルの文字コードをUTF-8に...
-
csvファイルでの出力について
-
C言語での印刷方法
-
(VBA)書式が変更されてしまい...
-
フォルダにあるPDF情報の抽出(VBA)
-
C言語での縦方向のファイル出力...
-
CSVファイルを任意の場所に出力...
-
標準出力とファイルに効率的に...
-
CreateProcess関数と実行後の戻...
おすすめ情報