1 名前:デフォルトの名無しさん [2007/02/03(土) 17:49:47 .net] 素人丸出しお粗末で遅くてもいいので いますぐ使えるちょっぴり便利プログラムを作れ (例○○を自動処理してくれるプログラム)
101 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 01:05:13 .net] >>97 すいません。説明不足でした。 常に2003を起動したいわけではなく、2003と2007を必要に応じて使い分けたいのです。 そういう区別はVBSでは無理なんでしょうか? あと、regmonでVBS実行中に参照されるレジストリを調べてみたところ、どうやら HKCR\Applications\excel.exeを見て、起動するアプリを決定しているようでした。 つまり、>>96 のような書き方では最後にインストールしたバージョンしか起動できないのです。
102 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 02:12:08 .net] 2003はたぶん Excel.Application.9 で,2007はしらね ttp://support.microsoft.com/kb/240794/ja
103 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 04:06:22 .net] >>99 ありがとうございます。さっそく調べてみたところ、 2000 → 9 2002 → 10 2003 → 11 2007 → 12 のように対応していることがわかりました。そこでプログラムを Set ExcelObj = CreateObject("Excel.Application.11") と修正してみたのですが、これではまだ2007が起動してしまいます。 もう少しオブジェクトの扱い方を調べる必要があるようです。
104 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 12:07:56 .net] >>100 ヒント:参照設定
105 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 21:32:07 .net] support.microsoft.com/kb/292491/ja
106 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 03:29:22 .net] いっその事、キーボードマクロで
107 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 07:02:16 .net] >>101 MSOライブラリを複数登録するんでしょうか? 別バージョンのMicrosoft Office Object Library、Microsoft Excel Object Libraryを参照設定から 追加しようとしたのですが無視されてしまいました。 エラーも出ず、追加も出来ず、よくわかりません。 >>102 excel /regserverを実行してみたところ、Officeのインストーラーが起動してシステムの設定をすべて書き換え、 確かにデフォルトのアプリケーションもオブジェクトも切り替わりました。 が、この方法ではいちいちインストーラーが起動するという
108 名前:ことで、見栄えがよくありませんし、 時間もかかりすぎてしまいます。元に戻す手間もありますし。 >>103 最終的にはウィンドウを出さずに裏でこっそり処理をさせたいので、(>>96 のプログラムの3行目が 存在しないイメージです) 単純にショートカットからExcelを起動して最小化、みたいな処理は、 できれば避けたいのです。後出しですみません。 もう少しヒントを、よろしくお願いします。 [] [ここ壊れてます]
109 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 21:46:15 .net] いや、無理でしょ
110 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 15:02:41 .net] 「2003に致命的な問題が見つかりますた」と言って強引に2003をアンインストールして2007のみの環境にしる
111 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 06:18:21 .net] 光の速さでキー入力して絵画をキャンセル
112 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 15:32:02 .net] ぐぐったら、なんか酷いことが書いてある。 、、無理なんじゃね? support.microsoft.com/kb/292491/ja
113 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 15:35:09 .net] あ、既出でやんの。 (office2000以降)CLSIDが共通だって事は、 オートメーションでバージョンを指定することは出来ない ってことじゃねえの?
114 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 16:17:15 .net] ディレクトリからコマンダー権限でエクシア起動!
115 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 16:25:44 .net] なるほど、希望バージョンのExcel.exeを先に起動しておいてからGetObjectすればよいのかな?
116 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 19:44:14 .net] 希望バージョンではない方が既に起動されていても大丈夫?
117 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 23:04:38 .net] 何をアクティブにして何をさせたいか ちょっとした選択ミスがすべてを台無しにする事もある 目的と干渉によるけどやりたいなら自己責任で
118 名前:デフォルトの名無しさん [2008/02/11(月) 06:52:56 .net] 突然質問ですが… プログラムに汎用性を持たせるために、一部の変数を外部ファイル化したんですが、 どうすればよいのでしょうか? 実行専用ファイルを作って、その中で変数専用ファイルとメインファイルをPublic変数で繋いで 走らせる事も考えたのですが、できますでしょうか? って言うかVBSってinclude無いんですか?
119 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 12:09:25 .net] >>114 wsfというものがあってですね
120 名前:デフォルトの名無しさん [2008/02/11(月) 23:26:24 .net] ini ファイルみたなのをつくって、フツーにopenして読み込めばいいじゃん。
121 名前:壱壱四 [2008/02/12(火) 07:24:04 .net] 115-116 ありがとうございました。 あとはググって調べます
122 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 09:58:25 .net] EventQuery.vbs の使い方で教えてください。 というか、挙動不審なんです。 cscript eventquery.vbs /V /FI "ID EQ 564 AND DATETIME GE 03/06/08,12:00:00AM AND USER NE NT AUTHORITY\SYSTEM" /FO CSV /L ↑こういうのを書いたんですが、フィルタ条件のエラーになります。 上記の3つの条件を個別に単発で書けばそれぞれ ちゃんと動くんですが 3つまとめるとダメみたいで・・・。 そういう仕様なんでしょうか? 何か書き方にクセがあるんでしょうか?
123 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 12:41:44 .net] んなVBSは知らんけどパラメータがtasklistコマンドくせぇな
124 名前:デフォルトの名無しさん [2008/04/08(火) 00:03:03 .net] Excelで、セルに入力された文字列のうち、ある部分だけの色を変える、という処理をVBSで行いたいです。 たとえば「A1」のセルに「VBSで便利なプログラムを作れスレ」と入力してあった場合、 そのうちの『プログラム』だけをフォント赤色に変更する、というような感じです。 セル内の文字列すべてだとできるのですが、セル内の文字列の一部分だけを変更する方法を思いつきません。 ExcelのVBAだとCharactersオブジェクトが使えてたけど、これはVBSでは使えないのでしょうか? (←うまいきませんでした) なにかいいアイデアあったら、誰か教えてください・・・
125 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 00:48:23 .net] エラー処理してないんで適当に。 偉い人添削ぷりーず Option explicit Const TARGET_WORD = "プログラム" Dim XL, XLBook, XLRange Set XL = CreateObject("Excel.Application") Set XLBook = XL.workbooks.open("C:\Documents and Settings\デフォルトの名無しさん\デスクトップ\book1.xls") Set XLRange = XLBook.sheets(1).Range("A1") Dim TargetChr Set TargetChr = XLRange.characters(Instr(XLRange.value, TARGET_WORD),len(TARGET_WORD)) If Instr(XLRange.value, TARGET_WORD) > 0 then TargetChr.Font.ColorIndex = 3 End if XLBook.save XLBook.close Set XLBook = nothing XL.quit
126 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:55:16 .net] よーし、素人丸出しで質問させてくだされ! とあるCSVファイルがあります。エクセルで展開すると60項目のセルがあります。 その項目で不要項目があるので、消す作業を自動で処理することを考えてます。 ******************************************************* Set objEXCEL = CreateObject("Excel.Application") Set objBOOK = objEXCEL.Workbooks.open("指定場所と指定.CSV") objEXCEL .Visible = true myExcel.Range("B:D").Select myExcel.Selection.Delete myExcel.Cells(1,1).Select ******************************************************** サンプルやエクセルマクロ記録などしてそれらを参考にやってみました。 対象CSVは相対パスで指定してあります。 でも、相対パス指定した行でERRになります。 CSVを相対パスで指定して不要項目を削除するには、上記スクリプトを どのように変更すればいいでしょうか?
127 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 16:00:05 .net] そこは絶対パスで指定できるように考えよう
128 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 16:18:19 .net] >>123 レスありがとう。 結局、相対パスはできないということですね。
129 名前:120です mailto:sage [2008/04/08(火) 23:27:32 .net] >>121 ありがとう。書いてもらったのを参考にして思う通りのものができました。 CharactersオブジェクトのStartとLengthの指定の仕方をまちがってたようです。 任意のフォルダを選択すると、コマンドプロンプトのTREEコマンドみたいな枝?罫線+選択フォルダ以下すべてのサブフォルダ名 OR ファイル名を Excelに書き出す、というのを作ってたんですが、その出力内容のうち、サブフォルダ名の部分だけを色変えたかったのです。
130 名前:120です mailto:sage [2008/04/08(火) 23:28:08 .net] >>122 相対パスとるより絶対パスとるほうが簡単だと思うんだけど・・・? Excel使うの前提のようなので、こういうのはどうかな。 ******************************************************* Option Explicit Dim strFilePath strFilePath = GetFilePathDialog() msgbox strFilePath '-------------------------------- ' 選択したファイルのパスを取得 '-------------------------------- Function GetFilePathDialog() Dim objExcel Dim strFile Set objExcel = CreateObject("Excel.Application") strFile = objExcel.GetSaveAsFilename("", "CSV(カンマ区切り) (*.csv),*.csv") If strFile = False Then Exit Function GetFilePathDialog = strFile Set objExcel = Nothing End Function *******************************************************
131 名前:122 mailto:sage [2008/04/09(水) 13:06:21 .net] >>126 必ず相対パスでないとだめってわけではないのだけど。 クライアントで取り込んだCSVを編集する為なのね。 まあ、やり方で回避できるのだけど。。。 このコードも活用させていただきますです。 ありがとう。
132 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 01:19:36 .net] >>122 パスがわからないのならドラッグ&ドロップすればいいじゃない、牛丼がないのなら豚丼をたべればいいじゃない。 >>126 そのファンクションいただき。でもエクセルObjectがないと使えないのかー。
133 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 02:21:36 .net] GetOpenFileNameとGetSaveFileNameでぐぐれば、タブンさんぷるでてくるぞ。 APIだからエクセルいらない。
134 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 16:40:35 .net] >>128 通常Webから配布しているCSVを加工する為に、VBSを クライアント配布で色々考えてた。 >>126 氏の指摘通りエクセル操作が前提で。 >パスがわからないのならドラッグ&ドロップすればいいじゃない、 それも、そうだと思った強風、豪雨の午後でした orz >牛丼がないのなら豚丼をたべればいいじゃない。 メタボはいかん。
135 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 22:38:51 .net] こんにちは。メッセージボックスの[OK]ボタンが押されるのを待たずに次の処理を 実行させたいときはどうするのでしょうか? [OK]ボタンが押されなくても複数のメッセージボックス(?)を表示させたいのですが …
136 名前:デフォルトの名無しさん [2008/04/20(日) 23:39:08 .net] >>131 2箇所に同じ質問書くと嫌われるよ。マナー違反。今後気をつけな。
137 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:21:17 .net] 3箇所ならOK。
138 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:15:02 .net] ジミーペイジもそんな事言ってたな
139 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 11:02:10 .net] >>134 じみへんは? 言ってないかw
140 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:03:51 .net] 初心者なんですけどいいですか? VBSで二進法の数を十進法にして表示させるプログラムを教えてください。
141 名前:デフォルトの名無しさん [2008/05/01(木) 23:48:07 .net] 2進数の仕組みがわかってりゃ簡単だよ。 手計算するのと同じことをVBにやらせればいいだけ。 頭から1文字ずつ取り出して、×2していくだけだろ。 msgbox unko("10101101") Function unko(ByVal str) ret = 0 For i = 1 To Len(str) ret = ret * 2 + CInt(Mid(str, i, 1)) Next unko = ret End Function
142 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 23:52:39 .net] それ計算違うw
143 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 23:54:10 .net] ・・・と思ってら合ってるっぽいスマソ
144 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:25:00 .net] 助かりました〜 ありがとうございます。
145 名前:デフォルトの名無しさん [2008/05/03(土) 11:12:12 .net] なんかClntの所でエラー表示が出るんですが(^^;
146 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 11:41:22 .net] >>141 Valに直しとけ
147 名前:たわし [2008/05/03(土) 13:27:56 .net] 発投稿っす。どうぞよろしく。 二進法の数を十進法にして表示させるプログラムもう少し簡単にできませんか
148 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 13:29:00 .net] ゆとりアラーム
149 名前:たわし [2008/05/03(土) 13:36:42 .net] そこを何とかお願いいたします
150 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 20:23:26 .net] 137よりどう簡単にするんだ
151 名前:デフォルトの名無しさん [2008/05/03(土) 21:46:23 .net] 142>ありがとうございます しかしValでも型が一致しませんとでるんですが
152 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:43:18 .net] >>147 お前さんがとてつもない馬鹿で何一つ知らない情報弱者だから こちらは超能力者にならざるを得ないのをとりあえず理解してくれ。 それを前提とした上で「パソコンでマウスを動かそうとした」とこから 「Valでも型が一致しませんとでる」までの経緯を お前さんが認識してる「馬鹿」に分からせるように説明しろ。
153 名前:デフォルトの名無しさん [2008/05/04(日) 01:47:23 .net] パソコン上でマウスを動かそうとし、動かしメモ帳を起動して137のプログラムをまずメモ帳に入力し、Clntをそれ以外いじらずValに変更した後、.vbsで保存して、実行しようとするとエラー表示されます
154 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 01:58:49 .net] 数値で渡してるなw
155 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 06:09:59 .net] >>149 ValをCIntに戻して再実行してみろ。 CIntに戻したときのエラー表示の中で「文字が正しくありません。」 という文言があるのなら、全角スペースが原因。 行の先頭のスペースを全部削除してから再実行してみろ。動くはず。 >>142 CIntをValに直してもよけいに動かなくなるだけ。 VBでは動いても、VBSでは動かん。 >>150 1行目の10101101を文字列ではなく数値で渡しているって想定か? 別に数値で渡しても、勝手に型変換されて動くよ。
156 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 06:18:31 .net] >>151 数値で桁が多すぎると(浮動少数表現に変わるから?)エラーでるよ
157 名前:デフォルトの名無しさん [2008/05/04(日) 12:33:44 .net] やっぱりうまくいきません 型が一致しません"Clnt"とでます パソコンが2000だから
158 名前:とかそういうわけでしょうか あと素人丸だしですみませんが、一行目の10101101ってどういう意味ですか? [] [ここ壊れてます]
159 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 12:37:01 .net] もうそのネタ飽きた
160 名前:デフォルトの名無しさん [2008/05/04(日) 16:39:54 .net] ↑ そもそも「二進法」の意味がわかっとらんだろ?
161 名前:デフォルトの名無しさん [2008/05/04(日) 17:22:21 .net] ところが2歩進んだと思ってたのに気が付いたら下がっていたという。
162 名前:デフォルトの名無しさん [2008/05/04(日) 19:25:19 .net] 2進数はわかってますが
163 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:40:33 .net] >>152 すまんが、前提として10101101をそのままとしていた。 確かに桁が増えたらエラーになる。 16桁か17桁くらいが区切りのはず。 ちなみに浮動少数表現ではなく、対数表現な。 >>153 指摘が間違ってた。 いいか、Clntが間違いだ。CIntだ。 2文字目は小文字のL(エル)ではなく、大文字のI(アイ)だ。 ついでにいうと、二進法で表現した数値を二進数と言うんだ。
164 名前:デフォルトの名無しさん [2008/05/05(月) 03:45:40 .net] この会話・・・ぜったい2進数がわかってないな。
165 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 04:16:03 .net] シュールストレミングうめえ
166 名前:デフォルトの名無しさん [2008/05/05(月) 17:06:00 .net] すいませんXPでやったらできました そこで入力した二進数を十進数に変えるプログラムはどうやるんですか?
167 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 17:20:48 .net] 二進数も十進数も見た目が違うだけで中味は同じ だから変換は必要ない
168 名前:136 mailto:sage [2008/05/05(月) 17:27:22 .net] なんか変な流れ作っちゃってすまん というか>>161 なぜそこに戻る?
169 名前:デフォルトの名無しさん [2008/05/05(月) 17:39:30 .net] inputboxをどこにいれりゃいいのかわかりませn
170 名前:デフォルトの名無しさん [2008/05/06(火) 12:29:27 .net] おまい、ぜったいぜったい、ぜぇ〜〜ったい2進数がわかってないだろ。
171 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 14:22:30 .net] おまいら暇だな〜 モレモナ〜w
172 名前:デフォルトの名無しさん [2008/05/06(火) 15:42:50 .net] vbsで16進数を表示。たとえば msgbox &hFE とすると、結果は 254 と表示されます。 ほんとは FE のはずです。 こういうバグがあるから気をつけたほうがいいよ。
173 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 15:47:27 .net] それはバグ・・・・とは思えないのだが。本来の仕様と違うとか?
174 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 17:18:09 .net] >>168 変態度かぁ
175 名前:デフォルトの名無しさん [2008/05/06(火) 17:59:41 .net] 意味わからん FEって表示したいのなら msgbox "FE" って書きゃいいじゃん。 自分で &h つけておいて、何言ってんだろ? msgbox hex(&hfe) でもいいけど
176 名前:デフォルトの名無しさん [2008/05/06(火) 18:31:12 .net] 数値の&HFE と 文字列の"FE" の違いすらわからんヤツがおるのか。
177 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 21:58:28 .net] >>160 くせぇ! 今頃臭いが伝わってきたよ
178 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 04:40:36 .net] ●6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催 system-trading.jp/news/index.php?cID=3 [シストレFXグランプリとは] クリック証券が提供するFXのデモ取引環境を利用して、システムトレードにチャレンジできるFX取引のグランプリです。 お客様ご自身で作成したシステムトレードの機能を評価する「シストレソフト部門」とトレード収益を競う「トレード部門」の2部門構成となっております。 ●5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。 デモトレードの優勝者には賞金三百万円がプレゼントされます。 ▼トレード部門 初期資産500万円で、デモ取引のトレード収益を競っていただきます。 ●www.fx-gp.com/about/ ▼賞金総額 ■社長特別賞(シストレソフト買取価格) 10,000,000円 ●シストレソフト部門賞 1位300万円 2位100万円 3位50万円 ●トレード部門賞 1位300万円 2位100万円 3位50万円 ●前期
179 名前:MVP賞 50万円 ●後期MVP賞 50万円 [] [ここ壊れてます]
180 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 13:31:12 .net] コピペ君って馬鹿だな、まで読んだ。
181 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 04:14:05 .net] InputBox関数使って、入力値を得たいんですが、 255バイト以上の入力値って無視されるのでしょうか? 解決策があれば教えてください。。 InputText = InputBox("文字列を入力してください") Dim Fs Set Fs=CreateObject("Scripting.FileSystemObject") Set newFile = Fs.CreateTextFile("0000test0000.txt",True) newFile.WriteLine(InputText)
182 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:13:27 .net] ユニコードで254文字+CR+LFの、最大値を超えています。
183 名前:デフォルトの名無しさん [2008/06/17(火) 22:19:12 .net] VBScriptを使って、HTTPステータスコードを取得する方法を探しています。 ある任意のWeb画面に対してスクリプトでリクエストを行い、HTTPステータスコード(200 ok 等)を 取得する方法はありますでしょうか。 どなたかご存知の方がいらっしゃいましたら、ご教授下さい。
184 名前:>>177 mailto:sage [2008/06/17(火) 22:24:08 .net] すいません。スレ違いだった為、WSHのスレに移します。
185 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 14:20:45 .net] vbsで、フロッピーのフォーマットを確認なしで実行 する命令ありますか?A:\固定で。
186 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 18:20:54 .net] >>179 何で確認しなくていいのか?
187 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 20:40:04 .net] VBSにはファイルにアクセスする命令すらありませんよ
188 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 07:38:22 .net] それを言うならC言語にもファイルにアクセスする命令は無いな
189 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 09:45:08 .net] ここまで便利そうなコードが殆どない件・・・
190 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 11:24:47 .net] >>183 が便利そうなコードを書きまくるそうです><
191 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 01:18:22 .net] とりあえずExcelAddinをインスコするコードとかlnk右クリックでリンク先ディレクトリ表示とか あるけど需要あるか?
192 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 21:22:27 .net] test1.bin test2.bin test3.bin これらファイルを選択状態にして、VBSファイルにD&Dすると、 ファイル名順にソートして、1つのファイルに結合するには、どうしたら良いのでしょうか? 1つのファイルを、指定サイズに自動分割するVBSはできたのですが、 その逆のことができるVBSファイルを作りたい。。。 ADODB.Recordset ADODB.stream あたりを使えば可能?
193 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 21:26:24 .net] copy /b
194 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 21:38:44 .net] >>185 参考にさせていただきた
195 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 09:09:42 .net] CIM_DataFileクラスを用いて、ファイルの各種情報を取得したいのですが、 「説明」のプロパティを取得するときに指定するプロパティ名が分かりません。 具体的には、例えばソリティア(C:\WINDOWS\system32\sol.exe)を 右クリックして表示されるプロパティの「バージョン情報」タブの2行目に 「説明:Solitaire Game Applet」と表示されますが、この値を取得したいのです。 ファイルバージョンなどは、「Version」プロパティで取得できております。 ご存知の方、ご教示お願い致します。
196 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 18:30:02 .net] 189です。 カキコするところ間違えたみたいなので、移動します。スミマセン。
197 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 21:29:36 .net] >>186-187 作ってみた。 sdir = "C:\temp\" '出力先フォルダ soutfb = "output.bin" '出力ファイル名 set osh = createobject("wscript.shell") 'シェルオブジェクト set ofs = createobject("scripting.filesystemobject") 'ファイルオブジェクト set oarg = wscript.arguments '引数オブジェクト stmpf1 = "temp1.txt" '一時ファイル stmpf2 = "temp2.txt" '一時ファイル 'ドラッグ&ドロップしたファイル名を一時ファイルに格納 set out = ofs.createtextfile(sdir & stmpf1, true) for each s in oarg out.writeline s next out.close
198 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 21:31:54 .net] (つづき) 'ファイル名のリストをソートして一時ファイルに格納 osh.run "cmd /c sort " & (sdir & stmpf1) & " > " & (sdir & stmpf2), 0, true set oin = ofs.opentextfile(sdir & stmpf2) s = oin.readline 'バイナリファイルのコピー ofs.copyfile s, (sdir & soutfb) do until oin.atendofstream s = oin.readline osh.run "cmd /c copy /b " & (sdir & soutfb) & "+" & s & " " & (sdir & soutfb), 0, true loop oin.close '一時ファイルの消去 ofs.deletefile sdir & stmpf1 ofs.deletefile sdir & stmpf2 msgbox "OK" ↑以上、実行時は行頭の空白を半角に。
199 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 22:04:23 .net] copyは性能的にしょうがないかもしれんがsortぐらい自前でやれよw
200 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 21:13:21 .net] VBSにて、SNMP情報の取得を考えてるんですが、 wsnmp32.dll を利用することはできないんでしょうか? dynwrap.dll というラッパー?も使えないのでしょうか