
No.7ベストアンサー
- 回答日時:
なぜ、その必要があるのかを説明されたほうが
よいと思います。
Cドライブは起動ドライブであり、そこに正体不明の
実行形式ファイルがおかれる事はWindowsの設計者も
想定していません。
30年ほど前には普通だった行為ですけど
今となっては危険な行為と
Windowsからみなされていると思うのです。
ご指導ありがとうございます。yokomaya様のおっしゃる通りだと思います。
やりたいことは、かってに更新されるchromeと同じバージョンのdriverをダウンロードして所定のパスに上書き保存します。
VBAでDLして解凍するまではうまくいきましたが、保存する際にこの問題に遭遇しました。
Driverの所定の位置がC:\Program Files\SeleniumBasic\chromedriver.exe
なのです。
No.6
- 回答日時:
ご察しの通り通常C:直下にファイルコピーや削除などはできません
Cドライブ直下にディレクトリを作りその中にコピーする方が管理的に良いと思います
がC直下にコピーする場合 VBAなら
FileCopyではなくShell.ApplicationのShellExecuteから管理者権限でコマンドプロンプトを実行することで可能と思います(一例)
(FileCopyの場合 VBA実行ブック自体に管理者権限を与え開いて使うなんて方法もアリかもです未検証)
ざっくりこんな感じ(コピーオプションや戻り値が欲しい場合改造が必要)
Sub test()
Dim Shl As Object
Set Shl = CreateObject("Shell.Application")
Dim cmd As String
cmd = "copy D:\◆◆.exe C:\◆◆.exe"
Call Shl.ShellExecute("cmd.exe", "%ComSpec% /c" & cmd, , "runas", 5)
Set Shl = Nothing
End Sub
(アラートが出ます)
通知は手動でユーザアカウント制御の設定で通知しないを設定すれば
アラートを出さないようできます
(VBAでRegを触るのはやめておいた方が良いです)
ご指導ありがとうございます。
Qchan1962様にご提示いただいたPGで試してみましたがだんだんわけがわからなくなってきました。(笑)
Sub TEST()
Dim Shl As Object
Set Shl = CreateObject("Shell.Application")
Dim cmd As String
'cmd = "copy D:\◆◆.exe D:\P\◆◆.exe" '① 〇
cmd = "copy D:\◆◆.exe C:\◆◆.exe" '② 〇
'cmd = "copy D:\◆◆.exe C:\Program Files\◆◆.exe" ’③×
'cmd = "copy D:\◆◆.exe C:\Program Files\SeleniumBasic\◆◆.exe" '④ ×
Call Shl.ShellExecute("cmd.exe", "%ComSpec% /c" & cmd, , "runas", 5)
Set Shl = Nothing
End Sub
やりたいことは④なのですが、①②までしか成功しません。③④はエラーはでませんがコピーはできていませんでした。
No.5
- 回答日時:
ユーザーアカウント制御によって"C:\"へのアクセスは制限されているのでエラーになります。
VBAでいじられては困るからです。どうしてもというのならユーザーアカウント制御の設定を変更することでコピーできるようになりますが推奨されません。設定変更するなら方法は以下にあります。
https://faq.nec-lavie.jp/qasearch/1007/app/servl …
No.4
- 回答日時:
copy D:\aaa.exe C:\Program Files\
これでaaa.exe ファイルを Cドライブのprogramfilsのディレクトリの下にコピーされます。
ディレクトリを指定すればどの様になりますか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
VBAでCOPYを繰り返すと、処理が...
-
VBAから書き込んだ条件付き初期...
-
WindowsのOutlook を VBA から...
-
マクロの記録を使用したマクロ...
-
vbsでのwebフォームへの入力制限?
-
ダブルクリックで貼り付けた画...
-
エクエルのVBAコードについて教...
-
ExcelのVBAコードについて教え...
-
vbs ブック共有を解除
-
VBAでFOR NEXT分を Application...
-
Excelのマクロについて教えてく...
-
Vba WorkBooks.Openについて教...
-
Vba 型が一致しません(エラー1...
-
【ExcelVBA】5万行以上のデー...
-
VBAでセルの書式を変えずに文字...
-
[Excel VBA]特定の条件で文字を...
-
【VBA】値を変更しながら連続で...
-
vba textboxへの入力について教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# try-catch でcatchに飛ばす方法
-
CreateObject("Excel.Applicati...
-
winsock通信時エラーの回避
-
【C#】アップロード時に「アプ...
-
インクルードしたファイルの関...
-
FileCopy時のエラー
-
イベントID 2002について
-
fopenでエラーとなる
-
IIS7.5の設定の仕方
-
オーバーフローが発生します
-
このページの状態情報は無効で...
-
VBA RemoveDuplicatesで「アプ...
-
SQLサーバーへの接続に 接...
-
エラー内容について
-
オブジェクト生成エラー
-
ASP.NETで使用しているJavascri...
-
エラー 'ASP 0115' について
-
oracleを利用できません。(glob...
-
Excelの配列について
-
EXECLマクロでshapeがグルーフ...
おすすめ情報
実行しました。コマンドプロンプトの左上には「管理者:コマンドプロンプト」と表示されています。結果は変化なく同様のエラーとなります。
皆様ご親切にご指導いただきありがとうございました。結局SelenimuBasicを再インストールすることによりchromedriverの保存場所が書込みのできる場所に変更されました。
ありがとうございました。