- 締切済み
特殊フォルダへのファイルコピー
win10 ofice2016 ユーザレベル:Administrator パソコン利用者に、共通で使用するプログラムのコピー及び起動の設定をexcelマクロで対応しています。 Win10のRS5バージョンアップの影響か、従来動作していたマクロが動作しなくなりました。 c:\A\B.bat を スタートメニュー及び、共通ディスクトップにコピーするマクロ で下記の内容です。 Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFile Source:="C:\A\B.bat", Destination:="C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\InspecStart.bat" FSO.CopyFile Source:="C:\A\B.bat", Destination:="C:\Users\Public\Desktop\InspecStart.bat" Set FSO = Nothing 上記実行で 実行時エラー'70': 書き込みできません とのエラーが出てしまいます。 ちなみに ' FSO.CopyFile Source:="C:\A\B.bat", Destination:="C:\work\B.bat" はコピーできます。 また、エクスプローダ上でのコピーはできます。 このフォルダへのコピーは管理者権限が必要です。 と表示され、続行でコピー可です。 ファイルのコピーを手動でやれば済むのですが、パソコン等はリースです。 リース更新時に沢山の設定するのは手間なので、特殊フォルダへのコピーを簡単に対応可能な手段があればとのおもいです。 excelマクロにはこだわりませんが、サーバからのファイルコピー等はマクロで実行するので、一緒に起動用のファイルをコピーで対応できたらと思った次第です。 サーバからファイルをc:\A配下へコピー。 Aフォルダ配下の起動ファイルを特殊フォルダ2ケ所に設定したいのです。 よろしくお願いします
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- HohoPapa
- ベストアンサー率65% (455/693)
過去に、 https://okwave.jp/qa/q9627526.html といった対応を紹介しました。 いかがでしょうか?
お礼
回答ありがとうございます。
補足
過去の参照結果でやってみましたが、エラー解消されません (1) 手順1 次のようなコマンドを実行するbatファイルを用意 start excel C:\work\TEST.xlsm 手順2 このbatファイルのショートカットを作成 手順3 このショートカットのプロパティ、ショートカットタブ、 詳細設定ボタンで管理者として実行をオン 手順4 このショートカットを実行 手順5 起動したエクセルで課題マクロを実行 → 結果 状況変わらず 実行時エラー'70': 書き込みできません となります。 (2) Sub Sample() Dim WSH, wExec, sCmd As String, Result As String Set WSH = CreateObject("WScript.Shell") sCmd = "copy C:\A\B.bat C:\Users\Public\Desktop\a.bat" Set wExec = WSH.Exec("%ComSpec% /c " & sCmd) Result = wExec.StdOut.ReadAll Debug.Print Result End Sub を実行でイミディエイトに コマンドの構文が誤っています。 と表示されます