重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

以下のようにエクセルのブックのシート名をゲットしようとしたのですが、エクセルにマクロを入れてあるため、「マクロの有効、無効」を聞いてきます。
聞いてこないようにするため
xlApp.DisplayAlerts = False
を入れたのですが、ダメでした。なにか良い方法はあるのでしょうか?
宜しくお願いいたします。

Dim FileNam As String
Dim filebasho As String
Dim wbsinario As Object
Dim shtsinario As Object
Dim ExcelWasNotRunning As Boolean
If Err.Number <> 0 Then ExcelWasNotRunning = True
Err.Clear
' xlApp.DisplayAlerts = False
Set shtsinario = GetObject(filebasho & "\" & FileNam)
Set wbsinario = shtsinario.Application.Workbooks(FileNam)

A 回答 (4件)

以下は「マクロの有効、無効」を聞いてこないようにする方法です。

読んでもらえば分かると思いますが、そのExcelの使用者の了解の元に行います。VBで外部から操作するような方法ではありません。
自前のメニューを作り、そのメニューから開くわけで、「マクロの有効、無効」のダイアログは出ません。

(1)auto_openを使って、コマンドバーに自前のメニューを表示するマクロを作成します。
   このメニューには「マクロの有効、無効」を表示させなくてもいいシート名を登録し、
   該当のワークシートを開けるようにします。

(2)(1)のマクロを書いたBookをアドインとして保存します。

(3)(2)のアドインファイルを「XLStart」フォルダに置きます。


エクスプローラでダブルクリックして開いたりしないで、
  エクセルを開く→自前のメニューから呼び出し の手順になります。

これで指定したBookは警告なしで開くことができます。(Excel2000で確認)
    • good
    • 0
この回答へのお礼

nishi6さん
連絡が遅くなり申し訳ございません。
VBから操作するのは無理なようですね。
教えていただいた方法で、できるか今後検討していこうと思います。
ありがとうございました。

お礼日時:2002/05/19 13:42

>他人のパソコンでも使えるソフトとしたいのでVBで設定できる


>ようにしたいと思っています。

おそらく、ムリです。
もしもそんな事が可能ならば、マクロウイルスを作り放題になります。
各々のExcelの持ち主に、セキュリティレベルを下げてもらうしかないと思います。
    • good
    • 0
この回答へのお礼

gonta_gomaさま
ご回答ありがとうございます。
>もしもそんな事が可能ならば、マクロウイルスを作り放題になります。
その通りですね。各個人のセキュリティを自由に変えられるアプリケーションが
あれば、危険極まりないですね。
今回の希望は「マクロを有効、無効を聞いてくるのをなくしたい」ことなので逆にセキュリティレベルを最高に上げて必ず無効で立ち上がるようにする方法でもよいのですが。。。なにか良い方法はあるのでしょうか????

お礼日時:2002/05/09 21:43

コーディングを一読して「xlApp.DisplayAlerts = False」が気になります。

「Application.DisplayAlerts=False」ではどうですか。
「xl・・・」はエクセルVBAのエクセルシステムが定義する定数ではないのでしょうか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
>コーディングを一読して「xlApp.DisplayAlerts = False」が気になります。「Application.DisplayAlerts=False」ではどうですか
なるほど・・・と早速試してみましたがダメでした。
(×_×;)シュン

お礼日時:2002/05/05 18:32

ズレていたらごめんなさい。



>エクセルにマクロを入れてあるため、「マクロの有効、無効」を聞いてきます

これはExcelの起動時のメッセージと言う事でしょうか?
そう解釈した場合、単純にExcelのセキュリティーレベルを変更しては如何なのでしょうか?
「ツール」「マクロ」「セキュリティー」のセキュリティーレベルを「低」にすると起動時のメッセージが出なくなります。
但し、マクロウィルスには十分ご注意下さい。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
>これはExcelの起動時のメッセージと言う事でしょうか?
その通りです。セキュリティレベルを下げれば良いと思うのですが、
他人のパソコンでも使えるソフトとしたいのでVBで設定できる
ようにしたいと思っています。
しかし、その方法がよく分かりません。
エクセルの新しいマクロの記録で取得しようと思ったのですがダメでした。
なにかよい方法があると良いのですが・・・

お礼日時:2002/05/05 18:27

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