VBA 読み取り専用かどうかを判断する方法 - Excel ホームページ制作 | 墨田区

VBA 読み取り専用かどうかを判断する方法 – Excel

LINEで送る
Pocket

VBAで読み取り専用かどうかを判断する方法をご紹介します。
Excel ブックを開いた時、他のユーザーが利用していた場合、確認ダイアログが表示され、「読み取り専用」で開くかどうかを聞かれます。
Excel 使用中ファイルダイアログ
※「通知」を選択しても、他のユーザーがブックを閉じた通知を受けるまで「読み取り専用」となっています。

今回は VBA で「読み取り専用」で開かれているかどうか判断する方法をご紹介します。




【PR】マジか?!「アレ」してるLINEスタンプっていったい・・・


「読み取り専用」かどうか判断する方法

「読み取り専用」かどうかは ThisWorkbook.ReadOnly = True で判断します。
戻り値が True の場合、「読み取り専用」で開かれているということになります。


サンプルソース

今回は「読み取り専用」だった場合に、「名前を付けて保存」ダイアログを表示して別名を付けるよう促します。

Sub Macro1()
    Dim FileName As Variant
    If ThisWorkbook.ReadOnly = True Then
        FileName = _
            Application.GetSaveAsFilename( _
                 InitialFileName:="コピー" & ThisWorkbook.Name _
               , FileFilter:="Excel マクロ有効ブック(*.xlsm),*.xlsm" _
               , FilterIndex:=1 _
               , Title:="保存先の指定" _
               )
        If FileName <> False Then
           Application.DisplayAlerts = False
           ThisWorkbook.SaveAs FileName:=FileName, FileFormat:=xlNormal
           Application.DisplayAlerts = True
        End If
    End If
End Sub

同じ名前を付けることはできませんので InitialFileNameコピー という文字 & 元のファイル名という設定にしています。

VBA で「読み取り専用」を判断するということは、ファイルの種類は「マクロ有効ブック」ということになります。
そのため FileFilter パラメータに *.xlsm を指定しています。

マクロを実行するとこんな感じのダイアログが表示されます。
名前を付けて保存ダイアログ

「名前を付けて保存」ダイアログを表示する詳しい方法は こちら をご覧ください。
VBA 名前を付けて保存ダイアログ表示方法 – Excel


参考サイト

ファイルが読み取り専用かどうかを確認する方法


おつかれさまでした。

LINEで送る
Pocket

この記事がお役に立ちましたら シェア をお願いいたします。

Office / VBAの勉強が思うように進まないときは!

Office / VBAの勉強が思うように進まないのであれば、プロに直接質問ができる プログラミングスクール を検討してみてはいかがでしょうか?プログラミングスクールに申し込めば、短期間で一定のスキルを身に着けることができます!

Office / VBAコースあり!未経験者にウケてる KENスクール パソコンスクール・パソコン教室 【KENスクール】個別指導のWeb-DTP・OA・IT PCスクール

理解度や学習ペースに合わせて、一人ひとりが納得して前進できる授業を提供してくれるのが特徴です。特に課題製作は現場さながらで、実務に即したものとなっていますので短期でのスキルアップが望めます。自宅学習のサポートも充実していて、授業内容をいつでもビデオで振り返ることができるのもうれしいですね。好きな時間に好きな場所で、無理なくスケジューリングできるので、仕事の忙しい方でも柔軟に学ぶことができますよ。

更にさらに、なんと 就職サポート をしてくれるというのですから驚きです!!

履歴書の書き方から面接指導、求人の紹介など、具体的な就職先まで提案してくれるんです!私も「もっと早く出会いたかったなぁー、こんなスクール」・・・って思っちゃいました^^

東京・神奈川・愛知・大阪を営業エリアとされています。
まずは気軽に 無料体験予約 に申し込んでみるのもアリですよ。


コメントを残す

お名前 (必須)
メールアドレス
(アドレスは公開されません)

コメント(必須)

Trackback URL