こんばんは!
テキストファイル内に何行かの文章があり、そのすべての文章に含まれる数値の合計を求めるVBSを記述したいのです。
例文↓
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014年11月12日
今日はダイソーで100円の商品を3つ購入した
明日は10時からテストがある
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
のような文章があったとき、2014,11,12,100,3,10の「和」を求めたいです。
自分の中では、配列とループ処理を用いて1文字ずつIsnumeric関数で判定していこうかなと考えていますが、他にスマートな方法はないでしょうか?
ただし、以下の条件があります。
1)個人情報を含む会社のPCなので、インターネットは接続できない
2)ソフトウェアのインストールはOfficeも含めて不可で、windowsの標準機能のみ使用可能
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
参考に
Option Explicit
Dim objRE
Dim strOpenFile
Dim objFSO
Dim objTextStream
Dim strText
Dim myMatches
Dim myMatch
Dim myTotal
Set objRE = CreateObject("VBScript.RegExp")
objRE.Pattern = "\d+"
objRE.Global = True
strOpenFile = "C:\**********\Test.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFSO.OpenTextFile(strOpenFile, 1)
Do Until objTextStream.AtEndOfLine = True
strText = objTextStream.ReadLine
Set myMatches = objRE.Execute(strText)
For Each myMatch In myMatches
myTotal=myTotal + CLng(myMatch.Value)
Next
Loop
objTextStream.Close
WScript.Echo "合計 " & myTotal
Set objFSO = Nothing
Set objTextStream = Nothing
Set objRE = Nothing
No.2
- 回答日時:
同じく方針のみだけど:
RegExpを使って数値(正の整数のみと判っている)を抜き出す
・パターンを数値を示すものにする [0-9]*
・Execute メソッドで検索実行
→ Matches コレクションオブジェクトが帰ってくる
こいつから数値の個数、数値の値を取り出して和をとっていく
みたいなかんじでどうですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java 南京錠 2 2023/02/04 11:46
- 訴訟・裁判 管理会社の光ファイバー対応の虚偽記載。損害賠償金額の目安は? 4 2022/05/29 13:24
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 10:07
- その他(プログラミング・Web制作) 2つのテキストファイルを比べて文字列を特定する方法を教えて下さい 5 2022/05/01 15:22
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数でEmpty値を設定する方法。
-
変数を動的に作るには?
-
EXCEL VBA で、0から?1から?
-
VBAで配列の計算
-
VBで作った乱数を一度も重複さ...
-
応用情報技術者試験の令和元年...
-
動的配列が存在(要素が有る)か...
-
パソコンキーボードで時分秒を...
-
ランダムに並んでるキーボード...
-
五目並べのプログラムを配列と...
-
VB.net 引数で配列変数を渡す際...
-
複数のテキストボックスに同じ...
-
配列プロパティをREDIMする方法...
-
VC++2010 配列の宣言位置
-
ラジオボタンのチェックをEnter...
-
排列と配列の漢字の使い分けは
-
C言語 重複しない4ケタの乱数...
-
C言語のread関数に関するファイ...
-
コンストラクタで配列を指定す...
-
多次元配列
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
応用情報技術者試験の令和元年...
-
IF関数でEmpty値を設定する方法。
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
-
EXCEL VBA で、0から?1から?
-
動的配列が存在(要素が有る)か...
-
変数を動的に作るには?
-
C言語 重複しない4ケタの乱数...
-
VBで作った乱数を一度も重複さ...
-
VB.net 引数で配列変数を渡す際...
-
配列の要素数を超えた参照のコ...
-
C#の質問
-
複数のテキストボックスに同じ...
-
VBでbyte配列型のインスタンス...
-
For文と配列
-
遅延バインディングを使用でき...
-
【MFC】GetCount()とGetSize()...
-
配列プロパティをREDIMする方法...
-
Excel VBAで配列の途中から(X)M...
-
五目並べのプログラムを配列と...
おすすめ情報