EXCELアドインに含まれるVBAのモジュールを呼ぶ方法を教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

"呼ぶ"の意味がイマイチ分かりませんが・・・


"標準添付のExcelアドインの関数のコードを見たい"と勝手に解釈すると、アドインを有効にした状態でVBAエディタを起動して、該当のプロジェクトを開けば、モジュールの中を参照して、関数のコードを読むことは出来ます。
ただし、パスワードで保護されているものが殆どで、これは見ることが出来ません。ATPVBAEN.XLA("分析ツール"で追加されるプロジェクト)等は覗けますが・・・
ただし、これをこのままエクスポートなどして、使用するのは著作権上まずいでしょう。

解答になっているでしょうか?補足をお願い致します。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QDドライブのProgramFilesが表示されない

windows7を使用しています。
CドライブではProgram FilesとProgram Files (x86)が表示がありますが
DドライブではProgram FilesとProgram Files (x86)が表示されません。
Dドライブでのデータのバックアップをした後から
DドライブでのProgram Files とProgram Files (x86)が表示されなくなりました。
Dドライブからの関連付けしてあるデスクトップ(画面)上にあるプログラムは稼動しますが
プロパティ確認でエラーが出ます。
バックアップ時に何か変な設定でバックアップしたからでしょうか?

Aベストアンサー

No.2です。

> 隠しファイルについては全て見えるように設定しています。半透明のフォルダが隠しファイルですね。
⇒「半透明のフォルダ」と言うのは、ファイル/フォルダーのプロパティ→全般→隠しファイルのことではないでしょうか。
フォルダーオプション→表示タブ→詳細設定の窓→ファイルとフォルダーの表示→ここで選択してください。

> アプリのプログラムをDドライブでに置いて…
⇒インストーラー不要なアプリをDドライブでに置いて(コピーして)いるのですか?
それとも、Dドライブにインストーラーでインストールしたのですか?

> ショートカットのプロパティのエラーメッセージです。
> ショートカットからはアプリは起動出来ますが、…
⇒上2件は矛盾しているようですが、
> プロパティを開くとショートカットの確認のチェックの部分だけにしか反応しません。
⇒ご説明が理解できません。「ショートカットの確認のチェックの部分に反応」とは何ですか?

> アプリへのデータを追加をする為に、…
⇒理解不能。ファイルを手動でコピーですか?

> Dドライブから消えたファイル名を検索してから、…
⇒「消えた」と言うことは、「以前はあった」と言うこと?
このファイルが普通は見えていなくて、検索すれば見えるようになる、と言うこと?
であれば、「消えた」ではなく「見えない」と言うことでは?

> 壊れてしまったのでしょうか?
⇒手順に戸惑いながらも、一応は出来ている、と解釈されますので、壊れたのではなく、いつのまにか知らない設定をしてしまった、と言う、設定上の問題でしょう。

No.2です。

> 隠しファイルについては全て見えるように設定しています。半透明のフォルダが隠しファイルですね。
⇒「半透明のフォルダ」と言うのは、ファイル/フォルダーのプロパティ→全般→隠しファイルのことではないでしょうか。
フォルダーオプション→表示タブ→詳細設定の窓→ファイルとフォルダーの表示→ここで選択してください。

> アプリのプログラムをDドライブでに置いて…
⇒インストーラー不要なアプリをDドライブでに置いて(コピーして)いるのですか?
それとも、Dドライブにインストーラーでインストー...続きを読む

QEXCEL VBAで標準モジュール内で指定しても別の標準モジュールが開けません。

Sub CommandButton2_Click()


Application.Run "PARA"


End Sub

以前他の方が作ったプログラムを参考にして、作成しています。
PARAという名前で作った標準モジュールを動かしたいのですが、
1004エラーと出てしまって止まってしまいます。
実際、オブジェクト名と記載されている文字列を""の間にコピペしても
動きません。

どこがおかしいのでしょうか?あるいは何か肝心なことが抜けているのでしょうか?

Aベストアンサー

こんにちは。

ご質問の意味が曖昧でよく分かりません。

>PARAという名前で作った標準モジュールを動かしたいのですが
標準モジュールはオブジェクトではあるのですが、プロシージャでもマクロでもないので動きません。

同一ブック内のプロジェクトの標準モジュールに記載されているプロシージャやマクロは、通常、

Public ステートメントを付けなくても、Private ステートメントを付けていない限りは、呼び出しは、そのまま
 PARA
と入れるか、明示的に
 Call PARA

と入れれば呼び出せます。
しかし、他のブックの呼び出しは、Application.Run の後に、ブック名が必要です。
 Application.Run "ブック名!マクロ名"

です。他のモジュールだったら、その前のオブジェクト名が必要です。もしくは、参照設定します。

また、戻り値が必要な場合は、括弧 などで括って、変数で受けてやる必要があります。

解答を得るには、もう少し、詳しい情報が必要です。

QTemporary Internet Files

お伺いします。
Windows XP PRO SP2 IE6SP2を使っています。
「インターネットのプロパティ」-「全般」タブ-「設定」で表示されている「インタネット一時ファイルのフォルダ 現在の場所:」には
C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Filesと書いてあります。

現にエクスプローラで調べると上記パス名にTmporary Internet Filesが存在します。もう少し一般的なパス名で表現すれば、
C:\Documents and Settings\ユーザー名\Local Settings\Temporary Internet Files

になります。そしてエクスプローラを見渡すと
C:\WINDOWS\Temp\Temporary Internet Files
というのがあり、Temporary Internet Filesがもうひとつ見つかりました。

現に「C:\WINDOWS\Temp\Temporary Internet Files」自身をキーワードにヤフーやグーグルで検索すると、この場所にTemporary Internet Filesがある人やあると思っている人もたくさんいることが分かります。

2箇所にTemporary Internet Filesが見つかるシステムは正常ではないのでしょうか?

宜しくご回答お願い致します。

お伺いします。
Windows XP PRO SP2 IE6SP2を使っています。
「インターネットのプロパティ」-「全般」タブ-「設定」で表示されている「インタネット一時ファイルのフォルダ 現在の場所:」には
C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Filesと書いてあります。

現にエクスプローラで調べると上記パス名にTmporary Internet Filesが存在します。もう少し一般的なパス名で表現すれば、
C:\Documents and Settings\ユーザー名\Local Settings\Temporary Internet Files...続きを読む

Aベストアンサー

Administrator/ユーザー名\Local Settings\Temporary Internet Filesについては、インターネットにおけるメモ帳みたいなもので、WebページのHTMLファイル、画像などが保存されていて、次回アクセスしたときに速くページが表示されるようにしてくれています。C:\WINDOWS\Temp\Temporary Internet Files のものは、Windowsのシステムやアプリケーションがメモ代わりに使う領域です。

ASCII.jp - アスキー デジタル用語辞典 - Tempファイル
http://yougo.ascii24.com/gh/72/007288.html

QExcel VBA 標準モジュールの整理?

Excel2003を使用しています。

ある人が作成したファイルが数十人分、WEB上に保存してあり、マクロも数個含まれています。
マクロの内容は、シート上に配置されているボタンをクリックすることで印刷する書類(印刷範囲)を変更するといった簡単なものがほとんどなのですが、マクロの記録を何度もとりながらコードを書いたらしく、標準モジュールが20個もありましたが、空のモジュールのほうが多かったです。

また、マクロに判別しやすい名前が付いていないため、このボタンのコードは、どのモジュールに書かれているのかが分からないので、ひとつひとつ確認しながら、空のモジュールは削除し、同じシート上で行う処理は、同一のモジュール内にまとめるなどして、標準モジュールを整理しました。

上記のことを自分用に作成されているファイルで行いましたが、同じ部署内の分は私が管理するので、標準モジュールの内容(モジュールの数とコード)を私のファイルと同じようにしたいのですが、コピペのような簡単な方法はあるでしょうか?

質問内容が分かりづらくて申し訳ありませんが、よろしくお願いします。

Excel2003を使用しています。

ある人が作成したファイルが数十人分、WEB上に保存してあり、マクロも数個含まれています。
マクロの内容は、シート上に配置されているボタンをクリックすることで印刷する書類(印刷範囲)を変更するといった簡単なものがほとんどなのですが、マクロの記録を何度もとりながらコードを書いたらしく、標準モジュールが20個もありましたが、空のモジュールのほうが多かったです。

また、マクロに判別しやすい名前が付いていないため、このボタンのコードは、どのモジュールに書か...続きを読む

Aベストアンサー

モジュールを外部ファイル(.bas)として出力できますので、ファイルに出力しておいて、それぞれのファイルにインポートすればよろしいかと…
(.basは単なるテキストファイルみたい)


以下のサイトを見ると、モジュール自体もVBAから操作できるみたいなので、他のファイルへの入替え作業もマクロ化することは可能と思われます。
(やったことがないので、未検証)
 http://chaichan.web.infoseek.co.jp/vbtips/VBMemo2006081403.htm
ただし、一回こっきりの作業でしょうから、マクロを作成して検証しているよりも、入れ替えは手作業の方が早いかも。

QTemporary Internet Filesが勝手に作られました!

Temporary Internet Filesの場所は元々はC:\Windows\Temporary Internet Filesですよね。ところがいつの間にか、C:\Windows\Local Settings\Temporary Internet Filesが勝手に作られ、一時ファイルは全てこちらに保存されるようになりました。
スパイウェアか何かのしわざでしょうか?
Local Settings 以下のフォルダを削除したら、また元の場所(C:\Windows\Temporary Internet Files)に保存されるようになるでしょうか?何故こんなことが勝手に起るんでしょう? どうぞよろしくお願い致します。

Aベストアンサー

"Temporary Internet Files"フォルダは、元々移動可能なフォルダなので、フリーズ後の再起動等の際に、変な所に新しく作られてしまうことが稀にあります。

"Internet Explorer"の[ツール]⇒[インターネットオプション]⇒[全般]タブの[設定]をクリックして、[設定]ダイアログの

-インターネット一時ファイルのフォルダ----
|現在の場所:     ○○○○○○

を確認してみてください。

多分、"C:\WINDOWS\Local Settings\Temporary Internet Files"になっていると思いますので、[フォルダの移動]をクリックして、"C:\WINDOWS"を指定してください。

注意1:レジストリに"C:\WINDOWS\Temporary Internet Files"フォルダの方が書き込まれてしまっているはずなので、削除しても、再起動すると、また新しく同じ所に作られます。

注意2:[フォルダの移動]で"C:\WINDOWS\Temporary Internet Files"を指定してしまうと、"C:\WINDOWS\Temporary Internet Files\Temporary Internet Files"になってしまいます。

"Temporary Internet Files"フォルダは、元々移動可能なフォルダなので、フリーズ後の再起動等の際に、変な所に新しく作られてしまうことが稀にあります。

"Internet Explorer"の[ツール]⇒[インターネットオプション]⇒[全般]タブの[設定]をクリックして、[設定]ダイアログの

-インターネット一時ファイルのフォルダ----
|現在の場所:     ○○○○○○

を確認してみてください。

多分、"C:\WINDOWS\Local Settings\Temporary Internet Files"になっていると思いますので、[フォルダの移動]をクリック...続きを読む

Q【Excel VBA】ThisWorkbook モジュールのマクロ

Excel2003を使用しています。

39枚のシートから成るBook1のThisWorkbook モジュールに、C列に“○月計”と入力されたら、その行のE列、F列、G列へ数式を入力するコードを書いています。

現在は、それぞれのシート(39枚のシートのうち3枚を除く36枚)のC列最終行から2行下のセルへ“○月計”と手入力していますが、マクロで“○月計”と入力されるようにすれば、ThisWorkbook モジュールに書いているコードも実行されて、数式の入力までマクロで処理できるのかな?と思い、試しに、36枚それぞれシートのC列最終行から2行下のセルへ“○月計”と入力されるようコードを書いてみました。

…が、そうではないのか、それぞれのシートのC列最終行から2行下のセルへ“○月計”と入力されるものの、E列、F列、G列へ数式は入力されません。

せっかくなので、できることなら数式の入力までマクロで処理したいのですが、どのようにしたらThisWorkbook モジュールに書いているコードまで実行されるのでしょうか?
よろしくお願いします。

Excel2003を使用しています。

39枚のシートから成るBook1のThisWorkbook モジュールに、C列に“○月計”と入力されたら、その行のE列、F列、G列へ数式を入力するコードを書いています。

現在は、それぞれのシート(39枚のシートのうち3枚を除く36枚)のC列最終行から2行下のセルへ“○月計”と手入力していますが、マクロで“○月計”と入力されるようにすれば、ThisWorkbook モジュールに書いているコードも実行されて、数式の入力までマクロで処理できるのかな?と思い、試しに、36枚それぞれシートのC列最終行から2...続きを読む

Aベストアンサー

No2です。

<方法1>
(No1様の回答の前半の方法)
・Macro1の処理内(End Withの前)に、 Workbook_SheetChangeの処理
 内容をそのまま入れてしまう。(コピペでも良い)
・そのままだと処理がうまくつながらないので、データの受け渡し部分
 を修正。
 Dim shName As String
 shName = Sh.Name
    ↓
 Dim shName As String, Target as Range
 shName = .Name
 Set Target = .Cells(LastR, "C")
みたいな感じ。


<方法2>
(No2の回答内容:基本的には方法1と同じ)
・Private Sub Workbook_SheetChangeはイベント用サブルーチン名の
 予約語なので、別の適当な名に変更する。(例えば: Sub Test)
・Macro1のループ内から<方法1>でコードをコピペした変わりに、↑の
 Sub Testを呼び出すようにする。
 Call Test(Worksheets(shNum), .Cells(LastR, "C"))

注)
1)もしもMacro1が、ThisWorkbookモジュール以外にある場合は<方法2>
 のままではサブルーチンコールができません。
 Macro1をThisWorkbookモジュールに移動するか、Testを標準モジュール
 に移動します。
 TestとMacro1が同じモジュール内にあるならそのままでOKですが、
 違うモジュールにおく場合(Module1とModule2など)、はTestの前の
 Private宣言をはずしてください。
2)Targetは多分予約語ではないと思いますが(未確認)、できれば他の
 変数名にしておいた方が安全かも…

No2です。

<方法1>
(No1様の回答の前半の方法)
・Macro1の処理内(End Withの前)に、 Workbook_SheetChangeの処理
 内容をそのまま入れてしまう。(コピペでも良い)
・そのままだと処理がうまくつながらないので、データの受け渡し部分
 を修正。
 Dim shName As String
 shName = Sh.Name
    ↓
 Dim shName As String, Target as Range
 shName = .Name
 Set Target = .Cells(LastR, "C")
みたいな感じ。


<方法2>
(No2の回答内容:基本的には方法1と同じ)
・Private...続きを読む

QWindows7のProgram Filesフォルダにダウンロードした

Windows7のProgram Filesフォルダにダウンロードしたはずのファイルが見つかりません
WindowsXPの場合、Program Files中にあるファイルにたどる場合、
スタート⇒Program Filesフォルダをクリックすればその中にあるフォルダやファイル(LZHなど)を見られたのですが、Windows7は勝手が違うみたいで(Windws7に慣れていないので)
各プログラムフォルダ(およびそのファイル名)は見られますが、Program Filesフォルダにダウンロードしたはずの*.LZHやフォルダに含まれない*.EXEを見つけられません。どうしたら見ることができるでしょうか。ちなみにダウンロードしたのはWindows7対応です。

Aベストアンサー

確認とれましたよ。

Program Filesを開き、ツールバーの互換性タブをクリック。

表示するはずです。

QExcel:アドイン自作の方法は?

Excelのアドインを自作したいのですが、
どのようするのでしょうか?

マクロの作成方法、VBAについてはある程度知識があります。
(何度かマクロを作成したことはあります)
アドインは結局VBAで組まれたもの、とネット上で見かけました。
しかし、具体的な作り方分かりません。
特に、「ツール(T)」-「アドイン(I)」で組み込む状態の*.x?a,*.xllファイルの作成方法。

アドインの作成方法について紹介してあるサイト、書籍などがありましたら教えていただけますか?


【補足】
OS:WindowsXP SP2
Excel:Excel2000

Aベストアンサー

http://www.asahi-net.or.jp/~zn3y-ngi/YNxv9114.html
http://www.aa.alpha-net.ne.jp/pcfriend/Excel/excelHeader.htm

VBAの作成と同じ感覚ですが、注意点がいくつかあるようです。

QProgram Filesの移動後の削除について

windows7のProgram Filesの移動等について
 
Program FilesがあるCドライブから、Program Filesのフォルダを右クリックし、【送る】から、Dドライブへ移動させようとして、間違ってドキュメントへフォルダ移動させました

これは違うぞと思い、Cドライブを見たところまだProgramFilesのフォルダが同じ場所に存在していた為(フォルダ内の内容も同じ)、
間違って送った、ドキュメント側のProgram Filesのフォルダ(コピーされた?)をゴミ箱へ入れ完全に消去しました

この一連の動作でPCの速度や不具合等に問題は無いでしょうか?


またCドライブにあるProgram Filesのフォルダを、Dドライブへ移動させる事は可能なのでしょうか?
もし可能な場合、その方法をお教えください
フォルダのプロパティから、移動の項目が無かったため、仕方なく送るで送ったところ、コピーされただけの様な状況でした

宜しくお願いいたします

Aベストアンサー

元々のフォルダと中身が元の場所でそのまま残っていれば、動作は問題ないでしょう。

ただし、Program filesフォルダを本当に移動すると、インストールしたソフトは全部動かなくなっちゃいますよ。ソフトが入っているフォルダはどれでも同じで、面倒でも一度アンインストールして、改めて別のフォルダやドライブを指定してインストールし直さなければだめです。

ただし例外もあって、解凍するだけで使えるフリーソフトだったら基本的には移動自由です。

もしドライブC:に余裕がなくて移動したいんだったら、マイドキュメントを移動する方が安全かつ効果的です。

その方法:
http://www.fmworld.net/cs/azbyclub/qanavi/jsp/qacontents.jsp?PID=8708-4506

Q印刷のプロパティーを呼ぶVBA

エクセルのシート上に、印刷ボタンを配置して印刷させる仕組みを作ってます。

問題が、印刷のボタンを押すと、そのまま印刷実行してしまい設定が出来ません。

そこで、印刷設定ボタンを配置して、印刷設定ボタンを押すと印刷のプロパティ画面が出てくるようにしたのですが、よろしくお願いします。

Aベストアンサー

こんな感じでダイアログは呼び出せますが、こういうこと?
印刷書式は事前に決めておくのがいいような気がしますが。
それから、何も作らないでプレビューから設定でもできます。
Sub PageSetupShow()
Dim mySel As Boolean
mySel = Application.Dialogs(xlDialogPageSetup).Show
If mySel = False Then
MsgBox "ページ設定はキャンセルされました"
Else
MsgBox "ページ設定完了!"
End If
End Sub


人気Q&Aランキング

おすすめ情報