ベストアンサー Excel VBAで読み取り専用を表示しないで開く 2017/02/16 16:05 VBAで読み取り専用に設定されているExcelブックを 読み取り専用で開いてくださいというダイアログを表示させないで 開くにはどうすればよいでしょうか。 (Windows7 , Excel2010) 画像を拡大する みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー ushi2015 ベストアンサー率51% (241/468) 2017/02/17 08:14 回答No.1 こんにちは Sub test() Dim n As String n = "C:\Users\ユーザー\Desktop\test.xlsx" Workbooks.Open n, , 1 End Sub こんな感じで。 質問者 お礼 2017/02/17 09:45 読み取り専用で開いてくださいというダイアログの 「はい」ボタンを押した状態で開きたい時は Workbooks.Open n, , 1 「いいえ」ボタンを押した状態で開きたい時は Workbooks.Open n, , , , , , 1 ということですね。 ありがとうございました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ パソコン・スマートフォンソフトウェアExcel(エクセル) 関連するQ&A Excel VBA ブックが閉じれない Excel2016を使用してVBAを使用しています。 VBA初心者ですが、よろしくお願いします。 質問内容は以下になります。 EXCEL起動と同時にUserFormを表示させ、UserForm上のコマンドボタンから ダイアログボックスを表示し、他ブックを開く処理なのですが、 他ブックを開くまでは問題ないのですが、他ブックが閉じれない状態になります。 Private Sub Workbook_Open() UserForm1.Show End Sub Private Sub UserForm_Initialize() 各種処理 End Sub Private Sub CommandButton1_Click() Dim OpenFileName As String SetCurrentDirectory (Worksheets(1).Cells(11, 3)) OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?") Workbooks.Open OpenFileName End Sub UserFormを閉じると開いたブックも閉じることが可能です。 タスクマネージャーから強制的に終了しようとすると、以下メッセージが出ます。 ”開いているダイアログボックスがあるため、Microsoft Excel を終了できません。[OK]をクリックしてから、Microsoft Excelに切り替えてダイアログを閉じて下さい。" UserFormを閉じないで他ブックを閉じるには、どうすれば宜しいでしょうか。 申し訳ございませんがご教授下さい、よろしくお願いいたします。 Excel VBA Dialogsheet 現在Excel2002を使用しています。 かなり以前に作ったと思われるブックににVBAが入っていて、ソース を見たところ、 DialogSheets("通常入力").Show というコードがありました。 「通常入力」というダイアログを編集したいのですが方法が分かりません。 旧いExcelで読み込まなくてはできないのでしょうか。 もしExcel2002で編集する方法があるのであればお教え頂ければ助かります。 読み取り専用の確認ダイアログを表示しない方法 Excelのブックを開き、 別のExcelを起動し、同一ブックを開くと、 「読み取り専用で開きますか?」 の確認ダイアログが表示されます。 最初は普通に開き、 2回目以降は確認ダイアログを表示させずに、 読み取り専用で開くようにするにはどうしたらよいのでしょうか。 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? OKWAVE コラム [読み取り専用]の設定 EXCEL2000を利用しています。 フォルダにあるブックに[読み取り専用]の設定をかけたいと考えています。 いちいち次のような操作で[読み取り専用]の設定をするのが大変なので、VBAで実現したいと考えています。 --------次のような操作----------------------------------------------------------------------------------- 1.[エクスプローラ] ウィンドウで、必要なファイルが保存されているドライブまたはフォルダを開きます。 2.[ファイル] メニューの [プロパティ] をクリックします。 3.[ファイルの情報] タブで、[読み取り専用] チェック ボックスをオンにします。 ----------------------------------------------------------------------------------------------------------------- 上記の操作による[読み取り専用]の設定をVBAで書くためには、どのように記述すればよいでしょうか? 「ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly 'ブックを読み取り専用に設定する」を記述すると、保存できませんし、「ReadOnlyRecommended:=True」だとセキュリティーが甘くなります。 アドバイスをどうぞよろしくお願いいたします。 VBAしか使用しないExcelのファイルサイズを軽くしたい VBAしか使用しないExcelのファイルサイズを軽量化するにはどうすればよいのでしょうか? 作成したVBAはExcelファイルを開くとInputBoxのダイアログが表示され、 そこにアドレスを入力するとブラウザが開いてそのページを表示します。 ちなみに、ブックのシートは1つだけにしてあり、セルには何も入力していません。 無駄なモジュールはなく、Excelファイルは直接ダブルクリックして開きたいので圧縮は不可です。 これ以上ファイルサイズを減らすことはできるのでしょうか? ご存知の方がおられましたらご回答をよろしくお願いします。 使用OS:Windows XP 使用ソフト:Microsoft Excel 2003 EXCEL VBAについて お世話になります。 EXCEL VBAで指定したフォルダのEXCELブックが1つでもオープンされているかどうか知りたいのですが、可能でしょうか。 よろしくお願いいたします。 Excel VBA 自身を非表示にした時の解除方法 Excel2010でVBAのコードデバッグ中に Excelアプリケーションのウインドウの中に Excelブック(シート)が表示されなくなってしまったため 一度、Excelアプリケーションを終了して 再びデバッグ中のExcelブックを開いたのですが それでも Excelアプリケーションのウインドウだけが表示されて、 開きたいExcelブック(シート)は表示されません。 おそらく、VBAのコードの中の Set wb = Workbooks.Open(fileName:=filePass, ReadOnly:=True) ActiveWindow.Visible = False の ActiveWindow.Visible = False のコードが 自分自身を非表示にしてしまったのではないかと思われます。 イミディエイトウィンドウに ActiveWindow.Visible = True と入力してもウインドウが表示されていないので エラーになります。 どのようにすれば非表示の状態から 表示の状態に戻すことができるのでしょうか。 EXCEL VBA プログラミング EXCEL VBAについて教えて下さい。 プログラミング超初心者です。 book1でマクロを実行し、ダイアログボックスを表示させて、任意のファイル(book2)を開き、book1のsheet1をまるごとbook 2の末尾にコピーするという処理をしたいのですが、うまくマクロが組めません。 ダイアログボックス表示→ファイルの選択まではいけたのですが、その先で苦戦しています。。 ご存知の方、マクロの組み方をご教示いただけますでしょうか。 よろしくお願い致します。 Excel VBA ワークブック閉じる ExcelのVBAのコード記述についてなのですが、 ブックを閉じるの動作で、読み取り専用として開いているブックのみを閉じる方法ってあるのでしょうか? 補足ですが、2つブックを開いていて、ブック名も同じ名前で、読み取り専用を名前を付けないように閉じてもう一方のブックが見られる状態にしたいです。 エクセルでドラッグアンドドロップで読み取り専用として開く Excel2000です。 エクスプローラ上にエクセルのファイル(.xls)が表示されているとします。 そのファイルをExcel上にドラッグアンドドロップしますと、ファイルが開かれます。 そのときに、エクスプローラ上のそのファイルのプロパティで「読み取り専用」になっているか否かにかかわらず、読み取り専用として開くにはどうすればよいですか? なお、エクセルのメニューの ファイル―開く で出てくるダイアログボックス(「ファイルを開く」)から、読み取り専用として開く方法はわかっています。 その「読み取り専用として開く」と同じことを、ドラッグアンドドロップだけでしたいのです。 OSはWindows98SEです。 エクセル「読み取り専用」を変更出来なくする設定は? エクセル2000です。 BOOKの属性を「読み取り専用」としているのですが、この属性を変更不可と出来ないものでしょうか?設定したときのやりかたと同じですが、開く前のBOOKのアイコンを右クリックして「プロパティ」の「全般」で、中にある「属性」の「読み取り専用」のチェックをはずすと簡単に変わってしまいます。 VBAでWorkbook_BeforeSaveを使って上書き保存が出来ないようにすることは十分可能でしょうが、できればせっかく用意されている「読み取り専用」という属性を活かしたいと思い質問いたしました。 よろしくおねがいいたします。 EXCELでのVBAでダイアログボックスの表示方法 EXCELで簡単なVBAを作成しています。単純に特定のファイルを読み込み 書式設定を変更して印刷をかけるだけのものなのですが、 この変更したEXCELデータをフォルダやファイル名を使用者側で指定できるよう、ダイアログボックスを使用したいと思っていますが、 VBAの記述方法がわかりません。どうかよろしくご指導お願いします! ヤバいパソコンが壊れたかも!?事前に知っておきたい3つの兆候と対策 OKWAVE コラム エクセルVBA ブックを閉じるときに・・・ エクセルVBAで、ブックを閉じるときに、 「変更を保存しますか?」ダイアログを出さずに閉じたいのです。 保存はしたくないので、そのまま単純に保存しないで閉じてくれればいいのですが・・・ そんな事は出来ますでしょうか? Excelが読み取り専用にならない Excel2007で、読み取り専用の設定/解除ボタンを押しても読み取り専用になりません。 ボタンを押すと、編集していれば保存確認のメッセージは出ますし、 タイトルバーにも読み取り専用と表示されます。 しかし、その状態で開いていると、他のPCから同じファイルを開こうとした時、 私が使用中ということで、そのPCでは読み取り専用でしか開けませんでした。 WindowsVista SP2 原因と対策が分かる方、いらっしゃいましたら、 お教え願えませんでしょうか。 VBAでエクセル保存方法 Excel2003のVBAで保存処理を下記のように行います。 Book.SaveAs ("ファイル名") しかし問題があり、ファイルを開くとVBAで記入更新したシートが 表れず別のシートが最初に表示されます。 一番最後に更新したシートを開いたときに表示される方法は ありますか? よろしくお願いいたします。 VBAをExcel2010/2013で利用 下記URLのサンプルファイルに含まれるVBAで作成されたユーザー定義関数について、 Excel2003(Windows7)の環境で利用することが出来ました。 http://www.relief.jp/itnote/archives/003799.php しかしながら、Excel2010およびExcel2013(ともにWindows7)で開くと、結果が #VALUE! と変わってしまい、正しく表示されませんでした。 VBAの参照設定でも同じものにチェックを入れている状態ですが、うまくいきません。 (ただし、Microsoft Excel XX.X Object LibraryやMicrosoft Office XX.X Object Library などバージョンの差異はあり) Excel2010またはExcel2013において、このユーザー定義関数を 正しく利用できる方法が分かりましたらご教示いただけますと助かります。 Excel マクロ & VBA で教えてください Excel マクロ&VBA の教則本で、独習しています。その中の「すべてのブックに対して 処理を繰り返す」との項目で、以下の様な「コード」があります。 Sub 開いているブックに処理を実行( ) Dim 全ブック As Workbook For Each 全ブック In Workbooks 全ブック .Save Next End Sub これを実行すると、以下の「メッセージ」が表示されました。 Microsoft Excel プライバシーに関する注意:このドキュメントは、マクロ、Activexコントロール,XML拡パックの情報、又はWebコンポーネントが含まれています。これらにはドキュメント検査機能で削除することが出来ない個人情報が含まれる場合があります。 そして 「OK」 ボタンをクリックすると VBA に戻り、「キャンセル」ボタンをクリックすると「実行時エラー’1004’:ファイルを保存出来ませんでした」とのメッセージが表示され、「セキュリティー」に問題があるのかと、「セキュリティー」の設定を、教本を見ながら、色々試してみましたが、解決出来ません。どの様にすれば実行出来るのか?御指導御教授の程、よろしくお願い致します。 動作環境は以下の通りです。 ◎OS -- Windows7 ◎Excel -- Microsoft Excel 2010 自分のExcelを読み取り専用で開くVBAは? Excel2003を使っています。 基本的なことで恐縮なのですが、 Excelファイルを手動で開くとき、読み取り専用にするような方法はないでしょうか。 ファイルのプロパティから「読み取り専用」にチェックを入れても NASの性質なのか、チェックが外れてしまいます。 (前提として、ここの変更は考えていません) そこで、「読み取り専用を推奨する」にしたのですが、毎回メッセージボックスが出るため 「読み取り専用にしない」を選択される場合もあります。 そのため、VBAにその指示を書き込む方法を探していました。 たとえば、以下のコードを試してみました。 しかし、開いたファイルに指示しているため、当然ながら以下のメッセージが出ます。 "***.xls は既に開いています。2重に開くと、これまでの変更内容は破棄されます。***.xls を開きますか?" Private Sub Workbook_Open() Dim Filename As String Filename = ThisWorkbook.FullName With Workbooks.Open(Filename, , True) .ActiveSheet.Activate End With End Sub 「読み取り専用を推奨する」をオンにして、Workbook.Openの引数である ignorereadonlyrecommended を設定する…というのも、 やはり上記の点で引っかかります。 何か方法はないものでしょうか。。。 エクセルVBAで「通知」を選ぶには? ネットワーク上にあるエクセルファイルを開こうとする場合、誰かが先に開いている場合、「使用中のファイル」というダイアログが出てきて、「xxx.xlsは編集のためロックされています」とメッセージが表示され、ボタンが「読み取り専用」「通知」「キャンセル」と出ます。 通知を選ぶと読み取り専用で開かれ、先に開いた人が終了した場合、OKになった旨の連絡がきます。 この「通知」を選ぶのと同様の操作をVBAで行うにはどのような命令を行ったらよいのでしょうか? 要は「読み取り専用」で開いて、先に開いた人が閉じた場合、メッセージを出したいのですが、どのようにVBAを作ったらよいのでしょうか? よろしくお願い申し上げます。 Excel VBAを後ろで動かす方法 VBAが書かれたEXCELのブックがあります。これは、一定時間ごとに処理を行います。その間、別のEXCELブックをひらいて、アクティブにしておきます。そして、VBAが書かれたEXCELファイルの一定間隔ごとの処理が呼ばれたときに、エラーメッセージが表示されます。 エラーメッセージ 実行時エラー 1004 RangeクラスのSelectメソッドが失敗しました。 エラー発生箇所 ThisWorkbook.Sheets("シート1").Range("A2:AZ")).Select エラー発生箇所の前に ThisWorkbook.Activate を入れるとエラーが発生しませんが、画面が切り替わってしまいます。 画面が切り替わらずに、処理を続ける方法を教えてください。 宜しくお願いします。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ パソコン・スマートフォン ソフトウェア Excel(エクセル)Word(ワード)PowerPoint(パワーポイント)Access(アクセス)その他MS Office製品オフィス系ソフトPhotoshop(フォトショップ)Illustrator(イラストレーター)その他Adobe製品画像・動画・音楽編集ホームページ作成ソフト筆まめ・はがき作成フリーウェア・フリーソフトその他(ソフトウェア) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
読み取り専用で開いてくださいというダイアログの 「はい」ボタンを押した状態で開きたい時は Workbooks.Open n, , 1 「いいえ」ボタンを押した状態で開きたい時は Workbooks.Open n, , , , , , 1 ということですね。 ありがとうございました。