アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になっております。

Excel2013で、あるフォルダ内にThisWorkbookがあり、ThisWorkbookのvbaで同じフォルダ内に新規にファイルを作成します。
このフォルダはファイルサーバ内にあるのですが、F5キーで一旦フォルダを更新するかフォルダを抜けて戻るなどしないと見えません。
新規ファイル作成後に続けてVBAの処理で、そのフォルダの更新を行い見えるようにしておきたいのですが方法があるでしょうか?

A 回答 (1件)

質問事項を勘違いしているかもですけど。



エクスプローラーを閉じておいてVBAを実行し、最後に

VBAからエクスプローラーを開く
https://e-vba.com/vbatips-3/

を実行するように書いてみるとか?
    • good
    • 0
この回答へのお礼

リンク先のものを試しましたが、エクスプローラを開いていてもダブって開いてしまうので別のやり方で出来ました。
AppActivate とSendKeys を使いました。

On Error GoTo 0 'エクスプローラを閉じた状態で実行した場合AppActivateでエラーになるのを無視する

Dim twPath As String
Dim pos As Long

twPath = ThisWorkbook.Path 'コードが記載してあるExcelファイルがあるパスを指定
pos = InStrRev(twPath, "\")
twPath = Mid(twPath, pos + 1) 'パスの最後のフォルダ名(エクスプローラのタイトルバー)

'指定したフォルダをアクティブにして、「ALT+F5」を実行しフォルダ内容更新

AppActivate twPath, False
SendKeys "%{F5}", True


'SendKeys バグ対策(NUMLOCKが勝手にoffされるので戻す)
Dim WshShell

Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{NUMLOCK}"
Set WshShell = Nothing

お礼日時:2020/02/25 12:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A