Sponsored Links
こんにちは!Lenocoです。本日も見てくださりありがとうございます。
今回はVBSについてのTips回です!!!
Sponsored Links
Contents
VBSで開いたダイアログを手前に持ってくる
VBSでファイル選択のダイアログを開くようにしたのはいいけれど、
他のアプリケーションを開いているとその下にダイアログが隠れてしまう・・
Windowsの違いなどによっても動きが変わるようで、
こちらのPCでは手前に表示されるのに、あっちのPCでは他のアプリケーションの裏に行ってしまって使いづらい!
ということが起きてしまうことがあります。
そんな時はぜひこちらの方法を試してみてください!
前回作成した、テキストファイルを書き変えるVBSに処理を組み込んでみたいと思います。
コード
Option Explicit
Dim MyFile
Dim myRec
Dim FS
Dim excel
Dim buf
Dim newFile
'テキストファイルの選択
Set excel = CreateObject("Excel.Application")
excel.Visible = True
CreateObject("WScript.Shell").AppActivate excel.Caption
excel.Visible = False
buf = excel.GetOpenFilename("Text File,*.txt,All,*.*",1,"ファイルを選択して下さい","開く",false)
If buf <> False Then
newFile = replace(buf ,".txt","_変換後.txt")
Set FS = CreateObject("Scripting.FileSystemObject")
FS.CopyFile buf, newFile, True
Set MyFile = FS.OpenTextFile(newFile)
'テキストデータ読込
myRec = MyFile.ReadAll
'テキスト変換
myRec = replace(myRec,vbCrLf ,vbTab)
MyFile.Close
'書き込み
Set MyFile = FS.CreateTextFile(newFile)
MyFile.WriteLine (myRec)
MyFile.Close
Else
WScript.Quit
End If
msgbox "完了!", vbSystemModal
コードの説明
「Set excel ~」の後3行を追加しました。
新しく追加したところのみ説明していきます!
Excelを表示します。
AppActivateステートメントを使用し、Excelをアクティブ(手前に表示)にします。
Excelを非表示に戻します。
AppActivateステートメントを動作させるために、一度ExcelをVisible=True(表示)にし、
Excelを手前に持ってきたあとVisible=False(非表示)に戻すということをしています。
この処理を入れることで一瞬エクセルがちらつきますがご了承ください。
さいごに
テキスト置き換えのVBS、どんどん良くなってきました!
また良い処理があれば追加していきたいと思います。
Lenoco
Sponsored Links