• 締切済み

VBA CopySaveAs 失敗する

ダブルクリックでエクセルファイルを読み取り専用で開いたときに、 アドインでCopySaveAsを使ってバックアップを取りたいですが、 読み取り専用で開かなければCopySaveAsでエラーが出ません。 読み取り専用で開いてしまうと、読み取り専用を解除してもCopySaveAsが失敗します。 やりたいことは普段から開いた履歴としてファイルのバックアップをローカルに残しておく。

みんなの回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

回答が付きませんね。質問に関する疑問点を挙げてみます。 >アドインでCopySaveAsを使って SaveCopyAsメソッドなら知っていますが、質問者さんのパソコン内にアドインがあって、それが「CopySaveAs」という名称とすれば、そのアドインの内容を明らかにしないと回答は難しいですね。質問者と回答者で言葉が通じないわけです。 >バックアップを取りたい ・アドインがどのようなバックアップを取っているのでしょうか。   直近の一つだけのバックアップ?   アドインを使うたびにバックアップを取っている?無数に増える ・バックアップ用の指定フォルダーがある? ・バックアップブックの拡張子は? これらをはっきりさせれば読み取り専用のバックアップファイルを作る助けになります。 また、バックアップファイルを作成する機能としては、名前を付けて保存する>ツール>全般オプション>バックアップファイルを作成する の機能もあります。アドインがどう絡んでいるか知りたいところです。 >読み取り専用を解除しても どのようにして解除されているのでしょうか。「ChangeFileAccess」メソッドを使って、「xlReadWrite」を指定すれば解除できますが、読み取り専用で開いたことに変わりはないので、読み取り専用ブックを変更して保存しようとしても、変更を確認するために変更前のブックが呼び出され、変更後のブックを別名で保存するには、別ブック名を入力(または何らかの設定)する必要があります。このような対応がアドインにあるかどうかです。読み取り専用ブックでエラーが出るということは、アドインにそのような対応が書かれていないのでしょう。(中身が見れないので断定はできませんが) >普段から開いた履歴 「普段から開いた」という表現は初めて見ました。どのような操作のことでしょうか。 対応策?(ダメな方法でしょう)  ・Workbook_Openメソッドで読み取り専用を検知    ↓  ・読み取り専用ならばメッセージ出力   バックアップが必要なら閉じる    ↓  ・エクスプローラで読み取り専用を解除    ↓  ・ブックを開く    ↓  ・何らかの編集    ↓  ・アドインでバックアップを作成    ↓  ・閉じる    ↓  ・エクスプローラで読み取り専用に設定   または、Closeメソッド前に読み取り専用にする(多分できない) アドインでバックアップを作成することを前提に考えると、全てのブックがこのような手順になりかねないですね。避けたい方法です。 自分が作成するならば、バックアップを作成する必要があるブックだけのバックアップ手順を書いてアドインは使わないでしょう。その場合は、最初に書いた疑問点を明かにして作ると思います。当方、Win10、Excel2010です。ご参考に。

tanakanono
質問者

お礼

>やりたいことは普段から開いた履歴としてファイルのバックアップをローカルに残しておく。 日本語がおかしかったですね。 アドインはエクセルアプリで開いたファイルをユーザーが閉じる際に、CopySaveAsでバックアップフォルダにコピーを保存します。ファイルは読み取り専用で開くこともあるため、これもバックアップを取りたいです。

関連するQ&A

  • VBA エクセルパスワード自動入力

    アドインでエクセルを開くときの書き込みパスワードを自動で入力したいです。 アドインのワークブックでクラスを定義して、クラスでエクセル、アクティブブックを定義しています。 Excelを開いておいてファイル読み込みでワークブックを読み込めばパスワード自動入力は可能なようですが、アイコンのダブルクリックで読み込みパスワード入力はできますか?

  • エクセル アイコンを直接クリックすると編集できない

    最初にエクセルを開いて、そこからそれぞれのファイルを開くと編集できるのですが、自分で作成したファイルのアイコンをダブルクリックした場合、エクセルは開くのですが、読み取り専用になってしまいます。解除する方法を教えてください。

  • ノババックアップが失敗に終わる

    教えてください ノババックアップ(発売元 ソースネクスト社)でマイドキュメントのバックアップを実行、下記のエラーが表示され、実行結果は失敗と表示されます。 バックアップ失敗 : C:\Users\kowata\AppData\Local\Packages\Microsoft.SkypeApp_kzf8qxf38zg5c\LocalCache\Local\Microsoft\Windows\Caches\cversions.1.db エラー e0010012:クライアントファイルはビジー状態です、再試行してください よろしくお願いいたします。

  • VBAのアドインについて

    現在、エクセル2000を使用しています。  セルの”*”という文字をダブルクリックすると、ユーザーフォームが開き、テキストボックス内に文字を入力したらOK(コマンドボタン)を押すとセルにその文字が入ります。  コマンドボタンを実行すると、Call ○○○で標準モジュールのマクロを呼び出すようになっています。  このCallが10行くらい組んであり、それぞれの標準モジュールを呼び出しているのですが、ファイルが重たくなってしまいました。  この標準モジュールをアドイン化して使用できるのでしょうか?

  • アドインエラーについて

    エクセルVBAでアドインファイルを使用しています。 時々、 Excelで前回アドイン’アドインファイルのパス’を開いたときに重大なエラーが 発生しました。このアドインを使用できないようにしますか? このアドインを再度使用できるようにするには、[ヘルプ]メニューから[バージョン情報]をクリックし、 [使用できないアイテム]をクリックします。 このメッセージが出てしまい、エクセルVBAプログラムを起動することができません。 1度出てしまうと、再度実行しても上記メッセージが必ず出てしまいます。 再度、アドインファイルを作成しなおすと、エラーは解消されます。 また、VBAプログラムを動かしてると、何かのタイミングで、また、上記のメッセージが 表示されるようになってしまいます。 どうして出るのかがわかりません。 何か参考になることがあれば教えて下さい。

  • ワードファイルの読み取り専用をvbaで解除する

    エクセルの読み取り専用は下記のように解除することは分かったのですが、ワードファイルの「読み取り専用」を解除するにはどうしたらよいですか? Workbooks.Open Filename:=”ファイルのパス”, WriteResPassword:="パスワード" '書き込み保護を解除

  • アドインの組込みとブックが開くタイミングがずれる

    全てのブックで使用するアドインを作成しました(AddIn.xlaとします)。 Excelの起動時にアドインが自動で組み込まれるように、アドインファイルをXLSTARフォルダに入れました。 あるブック(Book.xlsとします)の Workbook_Openイベントで AddIn.xlaに含まれるプロシージャを実行する時に、次のような問題が出ました。 エクスプローラから Book.xls をダブルクリックして開くと、AddIn.xlaに含まれるプロシージャを実行するところでエラーが出ます。 Excelを起動して、メニューバーから Book.xls を開くと、問題ありません。 この症状は、PCによって出るものと出ないものがあります。 エラーの状況から見ると、AddIn,xla が組み込まれるタイミングと Book.xla の Workbook_Openイベントが実行されるタイミングにずれがあるように見えます。 AddIn.xla が組み込まれるまで Book.xls を開かないようにすることは可能でしょうか。

  • エクセルを立ち上げるとVBA関係のエラーが出てしまいます

    以前にマクロを含んだフリーソフトをインストールしてから、エクセルを開くたびに「このブックにあるVBAプロジェクト、ActiveX コントロールおよびその他のプログラム関連の機能は失われています」というエラーメッセージが出て、エスケープするかOKしないとエクセルが開始できません。 以前インストールしたソフトは「.XLA」というファイルを含んでいました。(今は、ソフトは削除してあります。) ネットで検索したところ、「未コンパイルアドイン(.xlaファイル) 未コンパイルアドインはVBAを使用して作成されたアドインです。未コンパイルアドインを開くと通常のVBAプロジェクトを含むファイルを開いた場合と同じ警告メッセージが表示されます。次の組み込みアドインが使えなくなります・・・」と書いてありました。 意味はわかるのですが、ではどうしたらこの警告メッセージが出なくなるようにできるのか、が書いてありません。 どなたか教えていただければ、大変ありがたいです。 よろしくお願いします。

  • エクセル2007 VBAのアドインの方法が分かりません。

    エクセル2007 VBAのアドインの方法が分かりません。 2003ではツールから簡単に出来ましたよね?アドインというリボンは出せたのですがどうしたらxlamファイルをアドインできるのでしょうか? 宜しくお願い致します。

  • VBAのFileFormatで悩んでいることがあるので助けていただけないでしょうか?

    エクセルファイルを通常のテキスト形式にしたいのですがタブ区切りが入ってしまうので困っています。 そこで変換時なのですがFileFormatをつかっています。 そのときxlCSVはうまくいくのですがxlTextWindowsがうまくいきません。 xlCSVから変えただけなのですが・・・ 実行時エラー '1004': 'SaveAs' メソッドは失敗しました: '_Workbook' オブジェクト となってしまいます。 何がいけないのか見当がつきません。 通常のXLSからの変換です。 テキストファイルにしたとき,""カンマやダブルコーテーションが勝手に入り困っています。 何も入らないようにしたいです。

専門家に質問してみよう