VBSで便利なプログラムを作れスレ 2

0001デフォルトの名無しさん2018/10/13(土) 22:56:48.61ID:X8llOrQa
素人丸出しお粗末で遅くてもいいので
いますぐ使えるちょっぴり便利プログラムを作れ
(例○○を自動処理してくれるプログラム)

前スレ
VBSで便利なプログラムを作れスレ
https://mevius.5ch.net/test/read.cgi/tech/1170492587/

0801デフォルトの名無しさん2019/08/20(火) 00:53:21.07ID:U/FgYG/8
>>799-800
8 名前:デフォルトの名無しさん[] 投稿日:2018/10/14(日) 01:39:32.42 ID:BqZmi47p [3/6]
数値を文字列に変換するとき
CStrを使用すると
999999999999999より大きな値は
指数表現となり近似値になります
2の52乗 - 1まで精確に文字列に変換するメソッドを作ってください


30 名前:デフォルトの名無しさん[] 投稿日:2018/10/15(月) 15:31:10.86 ID:PMSd/DPm
>>8
Function CStr2(n)
If n<0 Then
 CStr2="-"+CStr2(-n)
ElseIf n<10 Then
 CStr2=CStr(n)
Else
  CStr2=CStr2(n\10)+CStr(n Mod 10)
End If
End Function


32 名前:デフォルトの名無しさん[] 投稿日:2018/10/15(月) 22:06:01.34 ID:PZUnDWuI [2/3]
>>30
ありがとうございます
オーバーフローしますが基本的な考えは良いと言って良いでしょう!

0802デフォルトの名無しさん2019/08/20(火) 00:56:19.77ID:U/FgYG/8
>>799-800
260 名前:デフォルトの名無しさん[] 投稿日:2018/12/16(日) 01:38:42.57 ID:gn/FiBbt
ソート済みのランダムな数列があるとします

(0, 15, 30, 46, 61, 76, 112, 148, 183, 219, 255)

この中から任意の数値の近似値を得たいのですが
アルゴリズムを教えてください

できるだけ高速なアルゴリズムがよいです
どうぞよろしくお願いいたします

264 名前:デフォルトの名無しさん[] 投稿日:2018/12/16(日) 11:57:05.95 ID:/fF8nF6N [1/4]
>>262
では差の絶対値が最小のものを選ぶ高速なアルゴリズムを教えてください

267 名前:デフォルトの名無しさん[] 投稿日:2018/12/16(日) 16:39:00.92 ID:/fF8nF6N [2/4]
自己解決しました

268 名前:デフォルトの名無しさん[] 投稿日:2018/12/16(日) 16:39:18.56 ID:/fF8nF6N [3/4]
>>266
ありがとうございます

271 名前:デフォルトの名無しさん[sage] 投稿日:2018/12/16(日) 17:34:16.21 ID:2P/btQ9u
えーバイナリサーチとかしないの?

272 名前:デフォルトの名無しさん[] 投稿日:2018/12/16(日) 19:18:24.98 ID:/fF8nF6N [4/4]
>>271
バイナリサーチしますか?
お願いできますか?

0803デフォルトの名無しさん2019/08/20(火) 23:33:06.09ID:L5iDfYyu
>>1
【経緯】

「オレ的ゲーム速報@刃」(通称Jin)というゲーム系の大手アフィカス5chまとめブログがある

Jinは偏向まとめや対立煽りなどを繰り返して5chの住民から非常に嫌われていた

5ch住民がTwitter社に虚偽の著作権侵害通報をしてJinの宣伝用Twitterアカウントを凍結させる嫌がらせを思い付く

Jinは5chのAA「やる夫」をブログのイメージキャラクターとして使用していた
http://livedoor.blogimg.jp/jin115/imgs/6/7/67e4a6a3.jpg

そこでまず5ch住民がゲーム会社カルチャーブレーンの公式wiki(偽物)を作成してそこにやる夫のAA画像をアップロード
http://www65.atwiki.jp/culturebraingame
http://img.atwikiimg.com/www65.atwiki.jp/culturebraingame/attach/1/2/Jingomi.png

次にカルチャーブレーン社長・田中幸男を名乗ってJinが自社の著作権を侵害しているのでアカウントを凍結するようにTwitter社に通報

Twitter社は偽物のカルチャーブレーン公式wikiに騙されてJinのアカウントを凍結

JinがTwitter社の規約をよく読まずに脊髄反射で実名と住所を明記してTwitter社に凍結異議申し立てをしてしまう

Twitter社の規約によってJinの異議申し立ての内容(実名と住所を含む)が通報者の田中幸男(偽物)に通知される

田中幸男(偽物)がこれを5chで公開してJinの実名と住所が無事けんま対象に
http://i.postimg.cc/C15CLDYF/jin.png

0804デフォルトの名無しさん2019/08/23(金) 21:15:11.63ID:MsAPSTJ/
>>799-800

647 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2019/08/23(金) 19:12:20.39 ID:nazcFACm
  彡⌒ミ
  <`∀´> テストニダ
_(__つ/ ̄ ̄ ̄/_
  \/    /
  包茎9cm君

0805デフォルトの名無しさん2019/08/24(土) 19:15:58.18ID:3zyDgxge
>>799-800
117 名前:Mr.名無しさん[] 投稿日:2019/08/24(土) 10:39:13.14
>>116
             /ヽ,,)ii(,,ノ\                  
          /(●)))(((●)\                
         /:::::⌒(__人__)⌒:::::\   ぱよぱよ在日ネカマンちん
       < ヽ il´ |r┬-|`li r   > ネカちんぱよぱよちーん           
        \  !l ヾェェイ l!  /    千葉県じゃな〜いでお馴染みで〜す
          /⌒ヽゝ    ノ~⌒ヽ   
        | ,Y        Y  |            
         |  | 在    日 |.  | 
         |  l         |  | 
        |  ヽ    ネ  /  ノ   
        ヽ   ヽ     /  /ヽ     シコシコシコシコ
        /\ \   / /  ヽ   ))
   ((  / .    ◇◆◇    ヽ    
    .  /        ◇◆      ヽ     
     /      /    \      ヽ      
  ./      /       \      ヽ

  
┃━━╋┏┓    ┣━┃━━╋┏┓    ┣━╋━━━      ┃     
┃    ┃┗┛    ┃  ┃    ┃┗┛    ┃  ┗━━┓      ┣┓   
┃┏━╋    ┏━╋┓┃┏━╋    ┏━╋┓      ┃━━━┃┃  ┃
┗┗━┛    ┗━┛  ┗┗━┛    ┗━┛    ━━┛      ┃┗━┛¨

0806デフォルトの名無しさん2019/08/27(火) 00:44:53.53ID:lW52+kgq
>>799-800
26 名前:名無しさん@お腹いっぱい。[] 投稿日:2019/08/27(火) 00:33:00.64 ID:7wEDJH96
凄いな年がら年中毎日
一日中ずっと一人でネカマ自演してる童貞無職ニートボロ負け犬ジジイネギ男のネカマに
必死にメール送る負け犬童貞キモメンだらけw
早々にお手伝い幹事さんにお手伝いしてもらえた俺勝ち組だ

0807デフォルトの名無しさん2019/09/02(月) 21:42:06.71ID:0WJYQ9Fr
>>799-800
270 名前:デフォルトの名無しさん[] 投稿日:2019/09/02(月) 21:31:28.92 ID:qij/0ceW
>>247
VB
https://paiza.io/projects/ij82oWiswOxWM0VnAgVbWQ

0808デフォルトの名無しさん2019/09/04(水) 21:37:59.39ID:0Ikeoqpy
>>799-800
305 名前:デフォルトの名無しさん[] 投稿日:2019/09/03(火) 22:33:37.84 ID:dCTs9gWx
>>257
VB
https://paiza.io/projects/grWlkqU1Rb-dk-QNh69rRQ

0809デフォルトの名無しさん2019/09/05(木) 20:09:17.72ID:bvRL5wwu
>>799-800
331 名前:デフォルトの名無しさん[] 投稿日:2019/09/04(水) 23:25:42.22 ID:4CPx11+J
>>313
VB
https://paiza.io/projects/JW7K9hSmkAVtXbO3II21Nw

334 名前:デフォルトの名無しさん[sage] 投稿日:2019/09/05(木) 10:53:13.59 ID:Wm4c6P24
>>327,331-332
俺とは問題の解釈が違うようだ?

335 名前:デフォルトの名無しさん[] 投稿日:2019/09/05(木) 11:32:41.41 ID:JTGocygG
>>334
そいつらはいつものアホやからスルーしなはれ

0810デフォルトの名無しさん2020/09/10(木) 23:19:47.52ID:E/gIYbNc
VBS の正規表現て
ドルアンパサンドが機能するだろ?
マッチした文字列を置換後のココに埋め込むやつ。
ヘルプになくて知らなかったからドハマりしたよ

0811デフォルトの名無しさん2020/09/11(金) 00:23:11.64ID:/N5S3it9
   ∧∧  ミ _ ドスッ
   (   ,,)┌─┴┴─┐
  /   つ  おわり.  |
〜′ /´ └─┬┬─┘
 ∪ ∪      ││ _ε3

0812デフォルトの名無しさん2022/02/22(火) 13:58:02.57ID:+OsZtxdU
vbsでwin10のPC(旧マイコンピュータ)を開くことは可能でしょうか?

またショートカットキー入力(win+E)のvbsでも良いのですがwinキーがわかりません。
多分下記ではwinキーはできませんよね。

Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys("xxx")

08138122022/02/22(火) 14:20:33.37ID:+OsZtxdU
普通に開けました。すみません。
Option Explicit
Dim objWshShell
Set objWshShell = WScript.CreateObject("WScript.Shell")
objWshShell.Run "explorer.exe"

0814デフォルトの名無しさん2022/02/22(火) 18:16:12.62ID:ysWljmej
例えば、下のコードを書いた、test.vbs ファイルをダブルクリックして、
Ruby で、a.rb ファイルを実行できる

CreateObject("WScript.Shell").Run "ruby ./a.rb", 0

0815デフォルトの名無しさん2022/03/26(土) 00:49:49.64ID:kvP9XjIE
VBSでパワポを非表示で開くとエラーになるのどうして?
ExcelはFalse 出来るのに

Set objPPT = CreateObject("PowerPoint.Application")
objPPT.Visible = False

0816デフォルトの名無しさん2022/03/26(土) 06:52:10.04ID:NhkQRxfw
それ書かなきゃよくね?

0817デフォルトの名無しさん2022/03/26(土) 07:11:36.30ID:kvP9XjIE
初期値がTrueらしいのよ

0818デフォルトの名無しさん2022/03/26(土) 08:38:58.69ID:kvP9XjIE
自己解決

Set objPPT = CreateObject("PowerPoint.Application")
‘objPPT.Visible = False

Const msoFalse = 0
Obj = ObjPPT.Presentation.Open(pptpath, , , msoFalse)

0819デフォルトの名無しさん2022/06/04(土) 14:24:29.43ID:rqbG8x8a
Accessに対してLoadFromTextをするとメッセージが出て鬱陶しい場合がある。
消す方法ありますかねえ?
objApp.Docmd.SetWarning 0は効果ありませんでした

0820デフォルトの名無しさん2022/07/14(木) 08:09:05.85ID:/D8hYc+T
終端装置の設定画面を自動操作してIPアドレスを毎日変えられるようにしました。

IEのWEBページからのメッセージの操作はマウス操作自動化ソフトのショートカットキーをセンドキーして何とか完璧に動くようになりました。

スケジューラーに頼らずにiniで作動時刻や作動間隔を指定できて、vbsを動かしてる最中でも設定変更を反映させられるようにしました。

IPアドレスが変わったら自動でお知らせメールが届くので、停電でIPアドレスが変わってもドメイン無しでIPアドレスでアクセスできて便利です。

プログラムは全くの素人なので作るのに何日もかかりましたが、vbsって便利ですね。
先人の知恵とその無償提供にただひたすら感謝です。

0821デフォルトの名無しさん2022/07/16(土) 20:28:34.71ID:KShLcP5t
Windwos のタイムスケジューラでvbs 実行すると 途中で止まるタスクが終わらない。
ある特定のとこで動かなくなってた。
以下のコマンドなんですけど、何が理由かわかりませんか?

> Set xxx = Fso.OpenTextFile("C:\xxxx.txt", 1, False, 0)

0822デフォルトの名無しさん2022/07/16(土) 20:29:18.97ID:KShLcP5t
>>821
手実行だと、うまく動きます。

0823デフォルトの名無しさん2022/07/17(日) 05:04:19.66ID:WgvrEhxC
まあ、いやらしい!

0824デフォルトの名無しさん2022/07/17(日) 09:56:59.92ID:g6zNtldT
この程度で興奮しているのかい?
ならここから始めようか

Option Ecstasy

0825デフォルトの名無しさん2022/07/17(日) 14:10:50.12ID:885G8LEt
ファイル/フォルダのアクセス権限かも?

例えば、VSCode 内の端末から、
ruby a.rb みたいに、Ruby スクリプトを実行すると、

そのスクリプト内にファイル操作が書いてある場合、
そのプログラムにはアクセス権限が無いと、エラーが出る

実行するプログラムに、そのファイル/フォルダのアクセス権限を許可する必要がある

OS のエラーログでも見てみれば?
それで、どういうエラーか判別する

0826デフォルトの名無しさん2022/07/17(日) 15:29:02.31ID:QiBhjgar
KИTAはうざい
消えて

0827デフォルトの名無しさん2022/07/17(日) 16:09:33.19ID:WgvrEhxC
あわしろを先に何とかしたほうが良いのでは?

0828デフォルトの名無しさん2022/12/09(金) 07:59:46.45ID:5GeI+CXA
久しぶり、何年ぶりかなここ来るの
生きてる?
最近機械学習の勉強を始めたので、VBS使って下準備いろいろするわ
しばらくいるからよろしくな

0829デフォルトの名無しさん2022/12/10(土) 16:47:20.18ID:sHjU7qNe
さて質問、wavファイルの正確な長さを知りたい、1秒以下の小数点単位まで
ファイルのプロパティでは1秒単位までしか拾えず
バイナリヘッダにも長さの情報はない

windows media playerを使って取得する方法とかある?

0830デフォルトの名無しさん2022/12/11(日) 02:45:39.10ID:08xatqWx
WAVEってビットレート固定じゃないの?
圧縮して拡張子だけ.wavにしてるやつ?
ファイル容量で分からん?

0831デフォルトの名無しさん2022/12/11(日) 09:37:57.57ID:6buDrVW8
ffmpegに付属するffprobeってのでwavの長さが出力されるみたいなので、それを使おうと思う
でもWshShell.Execでやっても標準出力のデータが取れないんだけど、どうしたらいいんだ

0832デフォルトの名無しさん2022/12/12(月) 12:24:10.22ID:GkD26MT/
とりあえずこれで小数点以下のwavファイルの長さ取れたわ、ffprobe.exe必須

Dim sCmd, Exec, result
sCmd = ws.CurrentDirectory & "\" & "ffprobe.exe -loglevel quiet -show_streams " & ws.CurrentDirectory & "\" & "hoge.wav"
Set Exec = ws.Exec("cmd /c " & sCmd & " 2>&1 | findstr -i duration=")
result = Split(Replace(Exec.StdOut.ReadAll, vbCrLf, ""), "=")
WScript.Echo result(1)

0833デフォルトの名無しさん2022/12/13(火) 20:27:40.67ID:BOGipya8
vbsでエラーが発生した行数を得るには?

0834デフォルトの名無しさん2023/01/02(月) 10:17:23.27ID:ZQn9NZuh
office以外で無料でかつ、信頼されているcomオブジェクトでwinapiにアクセスできるものってない?

0835デフォルトの名無しさん2023/01/11(水) 16:31:27.76ID:jp+OFUYZ
winapi経由でキーダウンを検知するところまではできたのだけれど
押したキーの標準入力がついて来てしまうの、いらないのだけけれど
どうしたら削除できますか

0836デフォルトの名無しさん2023/03/28(火) 22:16:36.04ID:dpygnQVl
   ∧∧  ミ _ ドスッ
   (   ,,)┌─┴┴─┐
  /   つ  おわり.  |
~′ /´ └─┬┬─┘
 ∪ ∪      ││ _ε3

0837デフォルトの名無しさん2023/04/04(火) 16:35:56.23ID:vSpSLcg3
VBSでADO RecordsetにCSVファイルを取り込むと電話番号の先頭のゼロが落ちるのな。
iniファイルを使わないと"0" & するしかないのかな?

0838デフォルトの名無しさん2023/04/06(木) 00:16:15.07ID:hYGJaIME
ダミーの文字型の文字を何行か紛れ込ませて、そのカラムは文字型だと思い込ませるとか?

0839デフォルトの名無しさん2023/04/10(月) 19:40:04.80ID:YifXJ3Ct
>>838
それだと元のデータがファイルリストだとダミーのファイルが必要になりますね。
そのうち、それがダミーなのを忘れて、なんかエラーを出しそうな予感が…


いろいろとVBSの限界を感じる今日この頃。やっぱりpythonへ移るべきかなあ

0840デフォルトの名無しさん2023/05/27(土) 15:49:26.58ID:6b5IxvdG
VBSの最大且つ唯一のメリットは開発環境がインストール済みということだから、Pythonをインストール出来る環境であればそ」もありかと。
自分の職場はインターネットから切り離された環境なのでVBSかVBAくらいしか使ってない。PowerShellはやらず嫌いだけど。

0841デフォルトの名無しさん2023/05/27(土) 20:26:14.82ID:lAqxcZlW
ま、pythonに行くわ
pythonはみんな使ってるから得るものが多い

0842デフォルトの名無しさん2023/05/28(日) 03:21:43.65ID:wPIuZYuf
>>837
Ruby では、オプションに変換関数・converter を指定できる

require 'csv'

input_csv = <<"EOT"
2022-10,あ,100
2023-01,い,200
EOT

require 'date'

# 月をDate 型へ、金額を整数型へ変換する
proc = Proc.new do |field, field_info|
case field_info.index # 列のインデックス
when 0 then Date.strptime( field, "%Y-%m" )
when 2 then field.to_i
else
field # 処理なし
end
end

options = { :converters => proc }

CSV.parse( input_csv, options ).each { |row| p row }

出力
[#<Date: 2022-10-01 ((2459854j,0s,0n),+0s,2299161j)>, "あ", 100]
[#<Date: 2023-01-01 ((2459946j,0s,0n),+0s,2299161j)>, "い", 200]

0843デフォルトの名無しさん2023/05/28(日) 03:22:27.58ID:wPIuZYuf
>>834
Ruby では、win32ole を使う

require 'win32ole'

fso = WIN32OLE.new( 'Scripting.FileSystemObject' )
p WIN32OLE.codepage #=> 65001, UTF-8

0844デフォルトの名無しさん2023/05/29(月) 16:34:12.97ID:AvjLnKXj
>>842
Rubyはつかったことないんですよねえ。
でも、教えてくれてありがとうございます。
暇なときにRubyで遊んでみますね。

0845デフォルトの名無しさん2023/05/29(月) 17:35:48.58ID:M6W/ObnY
いや、Rubyなんて使わん方がいい
もう終わってるし、Web以外では使われていない

08468422023/05/29(月) 19:59:39.69ID:D6yaSp/f
Ruby はウェブ開発で、Ruby on Rails がほとんどだけど、
テキスト処理やツール開発にも良い

Vagrant や、ログ収集基盤ソフト Fluentd、
Shopify のカスタマイズ用言語 Liquid、
GitHub の静的サイトジェネレーター Jekyll などはRuby製

Mastodon はRails 6。
PHP よりも可読性が高いから、Rubyに変わった

YouTube で有名な雑食系エンジニア・KENTA は、
初心者のキャリアパスは、Rails → Go だけと言ってる

米国年収でも、Rails, AWS Solution Architect が13万ドル

Ruby, Elixir : 9.3 万ドル
Go : 8.9
Rust : 8.7

Go/Rust/Elixir の3大言語を超えた

0847デフォルトの名無しさん2023/05/29(月) 20:03:53.88ID:M6W/ObnY
実際には使われていない
それがRuby
だからスレ違いの場所で必死になって宣伝する
関わってはいけません

0848デフォルトの名無しさん2023/05/31(水) 07:59:45.59ID:pMbd5YB3
batファイルからpython.exeを起動すればインストールされてなくても動くんだな
もう戻ってこれんよ

0849デフォルトの名無しさん2023/07/10(月) 11:16:00.95ID:A7l9QZwa
質問です。
Outlookを経由してメールファイルをリッチテキスト形式に変換するVBSを組んだのですが、
msgファイルを変換した場合は正常に動作するのに、
emlファイルを変換しようとした場合「***を開けません。ファイルは既に開かれているか、またはファイルを開くための権限がない可能性があります。」というエラーが出てしまいます。
コード:80030050
ソース:Microsoft Outlook
と表示されています。
どうもApplication.CreateItemFromTemplate メソッド (Outlook)の部分でエラーになっているようなのですが…。
原因及び対策法お分かりになる方いらっしゃいませんか?

0850デフォルトの名無しさん2023/10/10(火) 09:42:52.20ID:J1XGUWZB
非推奨になった言語は終わり

0851デフォルトの名無しさん2024/02/08(木) 17:58:08.82ID:+aEBX7Oq
>>0837
Schema.iniを書けばよろし

新着レスの表示
レスを投稿する