
以下のようにエクセルのブックのシート名をゲットしようとしたのですが、エクセルにマクロを入れてあるため、「マクロの有効、無効」を聞いてきます。
聞いてこないようにするため
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)
No.4ベストアンサー
- 回答日時:
以下は「マクロの有効、無効」を聞いてこないようにする方法です。
読んでもらえば分かると思いますが、そのExcelの使用者の了解の元に行います。VBで外部から操作するような方法ではありません。自前のメニューを作り、そのメニューから開くわけで、「マクロの有効、無効」のダイアログは出ません。
(1)auto_openを使って、コマンドバーに自前のメニューを表示するマクロを作成します。
このメニューには「マクロの有効、無効」を表示させなくてもいいシート名を登録し、
該当のワークシートを開けるようにします。
(2)(1)のマクロを書いたBookをアドインとして保存します。
(3)(2)のアドインファイルを「XLStart」フォルダに置きます。
エクスプローラでダブルクリックして開いたりしないで、
エクセルを開く→自前のメニューから呼び出し の手順になります。
これで指定したBookは警告なしで開くことができます。(Excel2000で確認)
nishi6さん
連絡が遅くなり申し訳ございません。
VBから操作するのは無理なようですね。
教えていただいた方法で、できるか今後検討していこうと思います。
ありがとうございました。
No.3
- 回答日時:
>他人のパソコンでも使えるソフトとしたいのでVBで設定できる
>ようにしたいと思っています。
おそらく、ムリです。
もしもそんな事が可能ならば、マクロウイルスを作り放題になります。
各々のExcelの持ち主に、セキュリティレベルを下げてもらうしかないと思います。
gonta_gomaさま
ご回答ありがとうございます。
>もしもそんな事が可能ならば、マクロウイルスを作り放題になります。
その通りですね。各個人のセキュリティを自由に変えられるアプリケーションが
あれば、危険極まりないですね。
今回の希望は「マクロを有効、無効を聞いてくるのをなくしたい」ことなので逆にセキュリティレベルを最高に上げて必ず無効で立ち上がるようにする方法でもよいのですが。。。なにか良い方法はあるのでしょうか????
No.2
- 回答日時:
コーディングを一読して「xlApp.DisplayAlerts = False」が気になります。
「Application.DisplayAlerts=False」ではどうですか。「xl・・・」はエクセルVBAのエクセルシステムが定義する定数ではないのでしょうか。
ご回答ありがとうございます。
>コーディングを一読して「xlApp.DisplayAlerts = False」が気になります。「Application.DisplayAlerts=False」ではどうですか
なるほど・・・と早速試してみましたがダメでした。
(×_×;)シュン
No.1
- 回答日時:
ズレていたらごめんなさい。
>エクセルにマクロを入れてあるため、「マクロの有効、無効」を聞いてきます
これはExcelの起動時のメッセージと言う事でしょうか?
そう解釈した場合、単純にExcelのセキュリティーレベルを変更しては如何なのでしょうか?
「ツール」「マクロ」「セキュリティー」のセキュリティーレベルを「低」にすると起動時のメッセージが出なくなります。
但し、マクロウィルスには十分ご注意下さい。
早速のご回答ありがとうございます。
>これはExcelの起動時のメッセージと言う事でしょうか?
その通りです。セキュリティレベルを下げれば良いと思うのですが、
他人のパソコンでも使えるソフトとしたいのでVBで設定できる
ようにしたいと思っています。
しかし、その方法がよく分かりません。
エクセルの新しいマクロの記録で取得しようと思ったのですがダメでした。
なにかよい方法があると良いのですが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 16:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの連続印刷が突然不可能...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
エクセルで特定の列が0表示の場...
-
マクロ実行時エラー
-
特定のPCだけ動作しないVBAマク...
-
ExcelのVBA。public変数の値が...
-
Excel_マクロ_現在開いているシ...
-
エクセルに張り付けた写真のフ...
-
Excel・Word リサーチ機能を無...
-
wordを起動した際に特定のペー...
-
VBAでカタカナ→ローマ字の変換...
-
エクセルで別のセルにあるふり...
-
Excelのセル値に基づいて図形の...
-
エクセルで縦に並んだデータを...
-
TERA TERMを隠す方法
-
ソース内の行末に\\
-
エクセルVBAでNAVITIMEを使って...
-
Excelマクロで印刷設定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルで別のセルにあるふり...
-
エクセルに張り付けた写真のフ...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
Excelのセル値に基づいて図形の...
-
Excel VBAからAccessマクロを実...
-
ExcelVBAでPDFを閉じるソース
-
マクロ実行時、ユーザーフォー...
-
オートフィルターとExcelマクロ...
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
エクセルで縦に並んだデータを...
おすすめ情報