• ベストアンサー

EXCEL「ブックの共有」をマクロ判定したい

EXECLワークブックファイルが「ジョブの共有」になっている時、これを解除する際、次のVBAマクロを発行しています。 ActiveWorkbook.ExcluciveAccess しかし、「ジョブの共有」解除済みのファイルに対し、上記のマクロを発行するとエラーとなります。 上記マクロの発行前に、「ジョブの共有」解除済みのファイルかどうかを判定する方法をご教示願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

WorkbookのMultiUserEditingプロパティで、ブックが共有ファイルとして開かれているかどうかを調べることができるようです。 <VBヘルプより> True の場合、ブックが共有ファイルとして開かれています。値の取得のみ可能です。ブール型 (Boolean) の値を使用します。 詳しくはヘルプをご参照ください。

NYAx2
質問者

お礼

早速のご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 共有ブックのリンクについて

    以下のようなマクロを作成しました 1.Sheet2をコピーする(新規ブック) 2.Sheet1のA1のファイル名で保存する(入力済) 3.A1にハイパーリンクを設定する 「ブックを共有」にしたら(3)のハイパーリンクの 設定でエラーが出るようになってしまいました。 で質問ですが (1)共有ブックはハイパーリンクが設定できないのでしょうか?   マクロが間違っている?    何かパラメータが足りない?   そんなことできない? (2)設定できないとしたら、誰も使用しないような深夜に   ブックの共有を解除し、リンクを貼り付けるマクロを実行するということは可能でしょうか? わかりにくい質問で申し訳ありませんが教えてください。 よろしくお願いします。 Sub Macro1() Worksheets(2).Activate Sheets(2).Copy ActiveWorkbook.SaveAs Filename:="A1ファイル名" ActiveWindow.Close Worksheets(2).Activate ActiveSheet.Hyperlinks.Add Anchor:=Range("A1"), Address:="A1ファイル名" End Sub

  • ブックの共有を解除する際の確認画面をマクロで処理する方法について

    ブックの共有を外す作業で下記のマクロを実行しています。 If ActiveWorkbook.MultiUserEditing Then ActiveWorkbook.ExclusiveAccess End If その時に 「~このファイルの保護を解除してもよろしいですか?」 と表示される確認画面を[はい(Y)]でマクロ処理する事は 可能でしょうか? あるフォルダ配下に100以上のエクセルファイルがあり 連続してブックの共有解除処理をしていますが 確認画面での手作業が入ります。 確認画面で[はい(Y)]を押下する作業も同時に自動化する方法が あればご教授下さい。 使用環境 OS:WindowsXP Excel2003

  • EXCEL 共有Bookにマクロを組み動作させると不具合が起こる

    EXCELの共有bookについて質問させていただきます。 共有BOOKにマクロを組んでいます。マクロはPrivate Sub Worksheet_Change(ByVal Target As Range)でセルに入力されると自動的に他のマクロが走り保存する使用で、4名~10名で頻繁に変更されます。その際に突然EXCELファイルの拡張子が『XLS』から『xls~RF******.tmp 』と変わってしまいます。保存しようとしても既に元の『XLS』ファイルと拡張子が変わっているため関連性がなくなり保存できなくなります。その後全ての人に一旦共有ファイルを閉じてもらい再度立ち上げると、ファイルがロックされています解除するか?などと質問してきて『はい』を選び再度保存をかけて初めて使用できるようになります。マクロをあまり組んでいないファイルではこのような事は発生しません。どなたか経験のある方はいらっしゃいますか?

  • EXCEL VBA で現在開いているブックのファイル名を取得する方法

    EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。 作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。 このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。 常にファイル名を取得出来るVBAをどなたか、教えて下さい。

  • エクセルのマクロで保存して終了が出来ない

     あるエクセルファイルにて、VBAで Sub 保存して終了() ActiveWorkbook.Save ActiveWorkbook.close End Sub  というマクロを作成したのですが、1回目は正常に動いたのですが次からは、そのマクロを動かしても画面が一瞬点滅するだけで、上書き保存も終了もしません。  それで、ファイルを別の名前をつけて保存してその、別の名前で保存したファイルで、また上のマクロを動かすと1回目は正常に動くのですが、やはり次に開くと動かなくなります。  因みに他のマクロは正常に動作し、この保存して終了させるマクロだけが変なのです。  マクロの書き方を変えて以下のようにしてもだめでした。 Workbooks("ナントカ.xls").Close savechanges:=True  やはり、何回書き方を変えても保存して終了させることだけが出来ません。普通にマクロを使用せず手動ですることは出来るのですが…。  分かりにくい説明ですみませんが、よろしくお願いします。

  • エクセル2007で複数ファイル間コピーマクロ

    エクセルでマクロを組もうとしていますが、初歩的なことでつまづいており、ぜひ助けを頂けたらと思います。 VBA言語はほとんどわかりませんが、エクセルでマクロを組んでいます。 一つのワークブック内での登録は問題なく行えるのですが、ワークブック間のコピペをマクロに登録するとうまくいかず困っています。 やりたいことは以下のようなことです。 file.Aのsheet1のA1セル ⇒ file.AAのsheet1のA1セル へコピー file.Bのsheet1のA1セル ⇒ file.BBのsheet1のA1セル へコピー     ・     ・     ・     ・ file.Zのsheet1のA1セル ⇒ file.ZZのsheet1のA1セル へコピー VBAを確認すると、ワークブック名が指定されているため、うまく次のファイルに移行できずにいるようです。 以下が黄色でハイライトされます。 Windows("file.A").Activate 初歩的なことだとは思うのですが、なかなか検索で答えが引っ張りだせないので、A-Zのファイルをコピペできるマクロにするにはどのようにしたら可能なのか教えてください。 よろしくお願いします。

  • Excel 2003のVBAマクロデータをExcel 2007で見たい

    Excel 2003のVBAマクロデータをExcel 2007で見たい。 Excel 2003でVBAマクロを登録したExcelファイルがありますが、今回、Excel 2007をインストールして、該当ファイルを開いたところ、「マクロデータを削除しました。」とメッセージが出て、VBEを起動してもマクロが見えなくなりました。OSはWindowsXP SP3です。Excel 2003で登録したVBAマクロをExcel 2007で削除されないで、次の2点について、可能にするにはどうすればよいか、ご教示願います。 (1)マクロデータを残す方法。 (2)マクロ起動する方法。

  • エクセル ブック(マクロを含む)を保存してとじると、また開きます。

    ブックに保護をかけた状態で保存してあります。 共有状態にあり、マクロを有効にしてもらいたいので、 (1)開くときに保護解除 (2)保存のときに、保護をかけて保存後、(まだ閉じるとは限らないので)保護解除 ということをやろうとし、以下のように書きました。 エクセルごとではなく、このファイルのみ終了しようとすると、 開いた後と上書保存後に保護を解除する為、 ファイルを終了する時には必ず「変更を保存しますか?」と訊かれ、 その時に「はい」を選択すると、一度はそのファイルが終了するのですが、 すぐに マクロを含むファイルを開くときに出るメッセージ「セキュリティ警告マクロ マクロ有効 マクロ無効 詳細」が出て、また開こうとします。 保存「いいえ」を選択すると、普通に終了します。 エクセルごとを終了すれば保存「はい」にしても、普通に終了します。 このファイルのみ終了する時、保存の確認で、「はい」を選び、普通に終了するには、何を直したらよいでしょうか? その前に、根本的に間違ってたりしますでしょうか・・・。 よろしくお願いします。 ThisWorkbookに、 Private Sub Workbook_Open() ActiveSheet.Unprotect Password:="(パスワード)" End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ActiveSheet.Protect Password:="(パスワード)" Application.OnTime Now, "保護解除" End Sub 標準モジュールに、 Sub 保護解除() ActiveSheet.Unprotect Password:="(パスワード)" End Sub

  • ExcelのマクロでCSVファイルを開くと遅いのですが

    ExcelのマクロでCSVファイルを開くと遅いのですが速く開く方法はありますか? 普通にファイル-開くに比べてかなり遅いです。 下記のVBAで記述してあります。 Workbooks.Open Filename:=fname ActiveWorkbook.SaveAs Filename:=fname, FileFormat:=xlCSV, _ CreateBackup:=False ActiveWorkbook.Close savechanges:=False

  • エクセル VBA マクロを動かしたときに元々開いているファイルを閉じる・・・

    いつも皆様には大変お世話になっております。 早速質問ですが、 「もしこのマクロが動く時点で他のExcelファイルが開いていたら、警告の上 自ファイルを閉じる、開いていなければ~実行」 という処理をかませたいと思っております。 ここの判定の方法がわかりません。(既にExcelが起動されていたら、でもいいのでしょうか。。。?) 下記のようなマクロを組んでいるので 他のファイルが開いていると厳しい状況です。 bname = "C:\" & Format(Range("q1").Value, "yyyymmdd") & "サンプル" & ".xls" ActiveWorkbook.SaveAs bname Workbooks.Open "C:\サンプル.xls" Workbooks(1).Close 本当は"yyyymmdd"&"サンプル"&".xls"ファイルだけ閉じられればいいのですが、自分の知識では上記のような形でしか動かせません;; もしご存知の方、ご教示ください。よろしくお願いします

このQ&Aのポイント
  • WINDOWS10でUCAM-C820ABBKを使用してQRコードをスキャンする方法を教えてください
  • UCAM-C820ABBKを使用してQRコードを読み込むための手順を教えてください
  • QRコードを読み込むためにはUCAM-C820ABBKを使用する必要があります。WINDOWS10での使用方法を教えてください
回答を見る

専門家に質問してみよう