Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11647 / 13646 ツリー ←次へ | 前へ→

【14707】自動実行で実行されません。 なつお 04/6/5(土) 23:46 質問[未読]
【14709】Re:自動実行で実行されません。 かみちゃん 04/6/6(日) 7:27 発言[未読]
【14880】Re:自動実行で実行されません。 しん 04/6/9(水) 3:23 お礼[未読]
【14908】Re:自動実行で実行されません。 かみちゃん 04/6/9(水) 23:05 回答[未読]
【14912】Re:自動実行で実行されません。 しん 04/6/10(木) 0:06 お礼[未読]
【14914】Re:自動実行で実行されません。 IROC 04/6/10(木) 0:15 回答[未読]
【14918】Re:自動実行で実行されません。 しん 04/6/10(木) 0:48 お礼[未読]
【14935】Re:自動実行で実行されません。 IROC 04/6/10(木) 18:31 回答[未読]
【14940】Re:自動実行で実行されません。 しん 04/6/10(木) 21:18 質問[未読]
【14970】Re:自動実行で実行されません。 しん 04/6/12(土) 1:54 お礼[未読]
【14713】Re:自動実行で実行されません。 よろずや 04/6/6(日) 11:35 回答[未読]

【14707】自動実行で実行されません。
質問  なつお  - 04/6/5(土) 23:46 -

引用なし
パスワード
   エクセルファイルを開いたときにテスト的に自動で実行される
下記コードを書きましたがファイルを起動しても
実行されません。なにかほかに設定があるのでしょうか?
お詳しい方
ご回答よろしくお願いします。

Sub auto_open()
  Range("B4").Select
  ActiveCell.FormulaR1C1 = "TEST"
End Sub

【14709】Re:自動実行で実行されません。
発言  かみちゃん  - 04/6/6(日) 7:27 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>エクセルファイルを開いたときにテスト的に自動で実行される
>下記コードを書きましたがファイルを起動しても
>実行されません。なにかほかに設定があるのでしょうか?

WindowsXP、Excel2002で確認しましたが、動作します。
Sheet1のB4セルに「TEST」と表示されました。

【14713】Re:自動実行で実行されません。
回答  よろずや  - 04/6/6(日) 11:35 -

引用なし
パスワード
   ▼なつお さん:
>エクセルファイルを開いたときにテスト的に自動で実行される
>下記コードを書きましたがファイルを起動しても
>実行されません。なにかほかに設定があるのでしょうか?

どこに書きましたか?

標準モジュールってのを挿入して、そこに書きましょう。

【14880】Re:自動実行で実行されません。
お礼  しん  - 04/6/9(水) 3:23 -

引用なし
パスワード
   ▼かみちゃん さん:
>>WindowsXP、Excel2002で確認しましたが、動作します。
>Sheet1のB4セルに「TEST」と表示されました。
私も同じシステムですので、かみちゃんと同じ結果になりましたが、ひとつ質問があります。
このVBAコードが自動実行されたとき、最初の画面上に「マクロを無効にする」と「マクロを有効にする」という選択ポップアップメッセージが出て、これを「マクロを有効にする」としない限り、本当の意味での自動実行にはならないわけですが、このポップアップメッセージを出ないようにVBAコードで記載する方法はありますか?
もちろん「ツール」→「マクロ」→「セキュリティー」であらかじめセキュリティーレベルを「低」にしておけばこのメッセージは出なくなりますが、通常の人はこのセキュリティーを「中」以上に設定してあると思いますので・・・。

【14908】Re:自動実行で実行されません。
回答  かみちゃん  - 04/6/9(水) 23:05 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>このVBAコードが自動実行されたとき、最初の画面上に「マクロを無効にする」と「マクロを有効にする」という選択ポップアップメッセージが出て、これを「マクロを有効にする」としない限り、本当の意味での自動実行にはならないわけですが、このポップアップメッセージを出ないようにVBAコードで記載する方法はありますか?
>もちろん「ツール」→「マクロ」→「セキュリティー」であらかじめセキュリティーレベルを「低」にしておけばこのメッセージは出なくなりますが、通常の人はこのセキュリティーを「中」以上に設定してあると思いますので・・・。

無条件でマクロを有効にする事がコードで出来たら、ウィルス蔓延しています。
ですから、私は、ウィルスチェックソフトを信頼し、マクロのセキュリティを「低」に設定しています。もちろん、こうすると、マクロウィルスのチェックもできないのですが、これは、ウィルスチェックソフトに任せています。

あと、少し調べたのですが、Excel2000からは「デジタル署名」という機能があるようです。

○デジタル署名の使い方
1.Office2000から「デジタル署名のツール」をインストールする。
2.デジタル署名を作成する。
3.Visual Basic Editor で「ツール」−「デジタル署名」でマクロに署名をする。

○デジタル署名の認証の仕方
1.マクロが付いているExcelシートを開く。
2.最初に出てくる認証用のダイアログで「この作成者のマクロを常に信頼する」を
チェックする。
3.マクロを有効にする、を押す。
4.以後、この「署名」に対しては常にマクロが有効になる。

○デジタル署名の認証の削除
1.「ツール」−「マクロ」−「セキュリティ」でダイアログを開く。
2.「信頼のおけるソース元」タグを開いて、対象の署名を削除する。
3.この「署名」については、常にマクロ実行の確認ダイアログが出る。

【14912】Re:自動実行で実行されません。
お礼  しん  - 04/6/10(木) 0:06 -

引用なし
パスワード
   ▼かみちゃん さん:
こんばんは、しん です。いつもお世話になっています。
>
>無条件でマクロを有効にする事がコードで出来たら、ウィルス蔓延しています。
>ですから、私は、ウィルスチェックソフトを信頼し、マクロのセキュリティを「低」に設定しています。もちろん、こうすると、マクロウィルスのチェックもできないのですが、これは、ウィルスチェックソフトに任せています。
>
おっしゃる通りですね、確かに・・・、ウイルスが蔓延するのも困りますからね!
でもExcelVBAで作成したゲームなんかはどうしているんでしょうね?

>あと、少し調べたのですが、Excel2000からは「デジタル署名」という機能があるようです。
>
>○デジタル署名の使い方
>1.Office2000から「デジタル署名のツール」をインストールする。
>2.デジタル署名を作成する。
>3.Visual Basic Editor で「ツール」−「デジタル署名」でマクロに署名をする。
>
>○デジタル署名の認証の仕方
>1.マクロが付いているExcelシートを開く。
>2.最初に出てくる認証用のダイアログで「この作成者のマクロを常に信頼する」を
>チェックする。
>3.マクロを有効にする、を押す。
>4.以後、この「署名」に対しては常にマクロが有効になる。
>
>○デジタル署名の認証の削除
>1.「ツール」−「マクロ」−「セキュリティ」でダイアログを開く。
>2.「信頼のおけるソース元」タグを開いて、対象の署名を削除する。
>3.この「署名」については、常にマクロ実行の確認ダイアログが出る。

については少し研究してみたいと思います。詳しい情報どうもありがとうございました。

【14914】Re:自動実行で実行されません。
回答  IROC  - 04/6/10(木) 0:15 -

引用なし
パスワード
   起動用として、VBSファイルを用いる方法もあります。

【14918】Re:自動実行で実行されません。
お礼  しん  - 04/6/10(木) 0:48 -

引用なし
パスワード
   ▼IROC さん:
こんばんは、しんです。

>起動用として、VBSファイルを用いる方法もあります。
それはいい方法かも知れませんね。実は私も最近わかったことなのですが、AccessからExcelのマクロAuto_Open()を実行させると、「マクロを無効にする」と「マクロを有効にする」という選択ポップアップメッセージが出ないで、マクロをそのまま実行させることができることを知りました。しかもこのようにするとAccessからExcelブックを開いてAuto_Open()を実行させるよりもExcelのマクロを素早く実行させるメリットがあることも知りました。
VBSのコマンドがどのようなものになるのかわかりませんが、Accessと同じような自動実行が可能になるのでしょうね?

【14935】Re:自動実行で実行されません。
回答  IROC  - 04/6/10(木) 18:31 -

引用なし
パスワード
   >VBSのコマンドがどのようなものになるのかわかりませんが、
>Accessと同じような自動実行が可能になるのでしょうね?

こんな感じです。

Dim xlApp
Dim xlBook
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
xlApp.DisplayAlerts = False
Set xlBook = xlApp.Workbooks.Open("C:\Sample.xls")
xlApp.Run "TEST"
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing

【14940】Re:自動実行で実行されません。
質問  しん  - 04/6/10(木) 21:18 -

引用なし
パスワード
   ▼IROC さん:
こんばんは、しんです。VBSありがとうございました。

IROCさんのVBScriptを下記のように少し手を加えて、ブックの保存と閉じるをできるようにしましたが、IROCさんのコード通り

xlApp.DisplayAlerts = False

にすると、TESTを行った結果(たとえば

Sub TEST
Cells(1,1).Value = "TEST"
End Sub

の実行結果(セルA1の内容がTESTとして表示される)のブック保存ができません。
TESTマクロの実行結果がブックに保存できるようにするには、下記コードをどのように加筆修正すればよいのか教えて頂けませんか?

Dim xlBook
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
xlApp.DisplayAlerts = True  'ブックに保存するどうかの確認メッセージ
Set xlBook = xlApp.Workbooks.Open("C:\Sample2.xls")
xlApp.Run "TEST"
xlApp.Workbooks.Close  'ブックを閉じる
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing

【14970】Re:自動実行で実行されません。
お礼  しん  - 04/6/12(土) 1:54 -

引用なし
パスワード
   いろいろ試しているうちに下記コードのように

xlBook.Save       '******ブックに保存する*****

のステートメントを加えることにより

xlApp.DisplayAlerts = False '保存の有無の確認メッセージを出さない

でもイベントマクロの結果保存が自動的行えるようにになりました。どうもありがとうございました。

Dim xlBook
Dim xlApp
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
xlApp.DisplayAlerts = False '保存の有無の確認メッセージを出さない
Set xlBook = xlApp.Workbooks.Open("C:\Sample2.xls")
xlApp.Run "TEST"
xlBook.Save       '******ブックに保存する*****
xlApp.Workbooks.Close  'ブックを閉じる
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing

11647 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free