VBSは始めたばかりの初心者で、自分なりに調べてはみたのですが、どうしても分からなかったので質問です。
OSはWindows10になります。
VBSで特定のフォルダ内(D:\〇〇〇\)から特定のファイル(*.xls、xlsmなどのエクセルファイル)を検索して、それを開くプログラムを書きたいです。
フォルダ内の全ファイル検索の時にはDo Loop、ファイルがエクセルファイルか判断する時には
If文を使用するのだと思ってそれで書いているのですが、そこから先で詰まっています。。。
VBSについて記載されているサイトは以下のサイトを利用しているのですが他にもお勧めのサイトなど
ありますでしょうか?
https://msdn.microsoft.com/ja-jp/library/cc39246 …
何卒よろしくお願いします。
No.2ベストアンサー
- 回答日時:
>他にもお勧めのサイトなど
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/
wscriptと言えば、牟田口さんがいます。
https://msdn.microsoft.com/ja-jp/library/ms97109 …
スクリプティングのすべて
(ms には確か、講座があったはずですが見つかりません。)
http://www.wmifun.net/sample/
WMI Sample ここを無視できません。
http://www.vbsedit.com/
エディター(フランス人の開発)無償版は使いづらいです。
一度購入すれば、半永久的にバージョンアップが可能。
しかし、多くの有償ツールは無償化したけれども、ここはまだ有償のままです。
ここには、スニペットやサンプル(主にWMI)がかなり多くあります。
'//------------------
Const TARGETFOLDER="C:\Test1\" 'フォルダー
Dim objFS
Dim objShell
Dim objFolder
Dim objFiles
Dim ea
Dim fileName
Dim EXT
EXT =".xlsx" '拡張子
Set objFS = CreateObject("Scripting.FilesystemObject")
Set objShell = CreateObject("Wscript.Shell")
Set objFolder = objFS.getFolder(TARGETFOLDER)
Set objFiles =objFolder.Files
For Each ea In objFiles
If LCase(Right(ea.Name,Len(EXT)))=EXT Then
If InStr(1,ea.Name,"ア",1)=1 Then 'ファイル名の最初がア"
filename= ea.Path
Exit For
End If
End If
Next
If Len(filename)>0 Then
objshell.Run filename
Else
MsgBox "ファイルは見つかりません。",16
End If
'//------------------
様々なサイトを教えてくださりありがとうございます!
お忙しいところソースコードまで書いてくださり本当にありがとうございますっ
とても参考になりました!
残りも頑張ってみます!
もう一つお尋ねしたいことがあるのですが、VBSでIf文でOrは使えるのでしょうか・・・?
VBAでは使えてるサイト見てVBSとVBAはほぼ同じだけど所々使えないものがあったりして気になってしまって・・・
とりあえず試すだけ試してみます!本当にありがとうございました!
>No2の方
知恵袋のほうは全く見てませんでした・・・!
そちらの方も見てみます!ありがとうございます!
No.3
- 回答日時:
こんにちは。
>VBSでIf文でOrは使えるのでしょうか・・・?
もちろん、使えます。
>VBAでは使えてるサイト見てVBSとVBAはほぼ同じだけど所々使えないものがあったりして気になってしまって・・・
似ているけれど、私にとっては、VBSは、ワンランクもツーランクも上ですね。
気がつくところは、Sub プロシージャの上のステージがある、クラスが同じステージに出でくる、
VBAとの違いで気がつくのは、文字と数値が別である。
データ型の宣言ができないない。今回の場合は、Dir 関数がない。
全角空白が、ハングになること。暗号化や実行型があること。
VBAでは、それほどWMIを使わないでしょう?しかし、今のVBScript では、圧倒的に主流になっています。また、Dynamic Wrapper を組ませることで、Win APIが使えるようになりますから、ほとんど、困るものはありません。
PHPでWin32APIを呼ぶ(Windows)
https://qiita.com/joh/items/9f54c68768e356c51157
ひとつ、私の持っているサンプル集で紹介していないものがありました。
これは日本語です。(サイトは閉鎖されているようですので、リストを取り出してしまうとよいです、自分はどうやって取り出したか、忘れましたが、ダウンローダーなどで一括で取り出せるはずです)
http://www.whitire.com/vbs/index.html
前回書いた、有償専用エディターのVBEditor は有償です。インテリセンスやデバッグが可能で、とても便利なツールなのですが、このために、お金(5,900円)を払うのはナンセンスかもしれません。もしかしたら、私にとっての伝家の宝刀・Note Pad ++ のアドインが可能なのかもしれませんが、まだ知りません。
なお、VBSの質問は、ここ(2849)か、Visual Basic(257)でも、VBScript + Hta を回答できる人間はいます。ただ、Microsoft Officeを持っているのに、Excelを操作するのに、VBSで行うという質問は、回答はしたけれども、釈然としませんでした。 VBAがあれば、そちらの方が便利で手軽だからです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- フリーソフト テキストファイル内を検索したい 1 2022/06/01 08:33
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- WordPress(ワードプレス) [BuddyPress]試したいのですが! 3 2022/06/01 13:36
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
【vbs】ファイル名の検索と該当ファイルの削除について
その他(プログラミング・Web制作)
-
VBScript フォルダ以下からファイルの検索、コピー
その他(プログラミング・Web制作)
-
vbsでテキストファイル内の文字列検索
Visual Basic(VBA)
-
-
4
VBScriptにて、csvファイルから特定のレコードを取得したい
Visual Basic(VBA)
-
5
vbsでのアスタリスクとファイル取り込み
Visual Basic(VBA)
-
6
VBSで応答不要のメッセージボックスを表示したい
その他(パソコン・スマホ・電化製品)
-
7
vbsのFolderExistsで部分一致をさせたい
その他(プログラミング・Web制作)
-
8
VBscriptで「改行」と「」を置換させる"
その他(プログラミング・Web制作)
-
9
VBScriptでファイルの日時順(降順)で並び替えて一覧を出力したい。
その他(プログラミング・Web制作)
-
10
VBSで指定行に挿入
その他(プログラミング・Web制作)
-
11
VBscript
Visual Basic(VBA)
-
12
VBScriptで、ファイルから任意の行のみ取り出す方法について
その他(プログラミング・Web制作)
-
13
VBScript(vbs)での行の取得について
その他(プログラミング・Web制作)
-
14
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
15
csvファイルを開かずに文字を検索し行を抽出したい
Visual Basic(VBA)
-
16
【HTML、VBScript】HTAアプリケーションにて別ウインドウで開きたい
Visual Basic(VBA)
-
17
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
18
テキストファイルから特定の文字列が入った行を取得したいです。 例えば下記のような文が記載されたテキス
Visual Basic(VBA)
-
19
VBSからエクセルのマクロを起動するがうまく動作しない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
個別に違う添付ファイルを付け...
-
エアコンの冷媒 R410Aの重...
-
e-taxで送信ファイルの拡張子が...
-
A4の紙に印刷されている文字を...
-
ガラケーからPCへの写真の取り込み
-
stdio.hの中身
-
クリッカブルマップ(イメージ...
-
VBS フォルダ内にあるすべての...
-
エクセルで「特定の文字を含む...
-
Access2016のExcelインポートの...
-
flash (.swf) を編集したい
-
SDカードを挿してるのに挿入し...
-
GIMP separate+プラグイン クラ...
-
リストビューで選択行の背景を...
-
多数の見開き画像を自動で二分割
-
スマホでtxtファイルを編集する...
-
celeron550 と AMD TK-57
-
CSVを取り込んで、画像を表示す...
-
指定したフォルダーを開いてフ...
-
microsdカード保存物をPCで見る...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
個別に違う添付ファイルを付け...
-
e-taxで送信ファイルの拡張子が...
-
エクセルで「特定の文字を含む...
-
スマホでtxtファイルを編集する...
-
複数のブックを新しいブックのS...
-
A4の紙に印刷されている文字を...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
ビデオファイルのプロパティの...
-
エアコンの冷媒 R410Aの重...
-
ガラケーからPCへの写真の取り込み
-
拡張子「.IDJ」を、windo...
-
Fortniteのクラッシュについて
-
2枚、マイクロSDカードを入...
-
VBA:カウンターの i の値が開放...
-
ファイル数と合計サイズの取得方法
-
stdio.hの中身
-
TextBoxにフォーカスを与えると...
-
PC内で速度を遅くした音源をCD...
-
リストビューの選択状態を取得...
-
GIMP separate+プラグイン クラ...
おすすめ情報