はじめまして、お世話になります。
WSHを使って次の処理をしたいのですが、方法がわかりません。
(1)ExcelのVBAプロシージャをコールして、ファイルA.csvを作成。
(2)アプリAを起動してファイルA.csvを読み込む。
VBAをコーディングし直して、アプリAを起動する方法もありますが、複数のアプリからVBAプロシージャをコールしたいので、WSHを使って処理したいと思います。
以下のようにWSHにコーディングしてみたのですが、Excelの終了を待たずにアプリAが起動してしまい、タイミングによってI/Oエラーが出てしまいます。
------------------------------------------------------------------
'ワークブックを開く
Set objExcel = CreateObject("Excel.Application")
Set objBook = objExcel.Workbooks.Open("VBAを含む.xls")
'VBAのプロシージャをコール
objExcel.Run "プロシージャ名" '←このプロシージャでCSVファイルを作成
'ワークブックを保存せずに閉じる
objBook.Close False
'Excel終了
objExcel.Quit
Set objBook = Nothing
Set objExcel = Nothing
------------------------------------------------------------------
苦し紛れに以下を試してみましたが、エラーが出ました。
objExcel.Run "プロシージャ名",,True
環境は、Win2000 + Excel2000を使っています。
よろしくお願いします。
管理人むたぐち>ありがとうございます。
一度やってみます。
しかし、ユーザー、パスワードを指定しないと
できないような。。。
また、結果を書きこさせてもらいます。
To: MMさん
RunAsコマンドが使えませんでしょうか?
ちと自信ありませんが・・・
こんばんは。
いつもお世話になります。
IPアドレスを自由に変更したいのですが、ユーザー環境で実行を行うと、
アドミニ権限がないので、変更ができません。アドミニ環境で行うとうまく
変更ができます。ユーザー環境で実行するときに、権限を与える事は
できないのでしょうか?
よろしくお願いします。
> おとうさん さん 2007年 05月 16日 12時 37分 11秒
WshShellオブジェクトのExecコマンドを使います。
こんな感じでしょうか?
----------------------------------------------
Option Explicit
Dim WshShell
Dim oExec
'シェルオブジェクトの生成
Set WshShell = CreateObject("WScript.Shell")
'シェルオブジェクトのExecコマンドの実行
'(WshScriptExecオブジェクトの生成)
Set oExec = WshShell.Exec("ipconfig /all")
'WshScriptExecオブジェクトが終了するまで待つ
Do While oExec.Status = 0
WScript.Sleep 100
Loop
'WshScriptExecオブジェクトから標準出力を取り出す。
Do Until oExec.StdOut.AtEndOfStream
WScript.Echo oExec.StdOut.ReadLine()
Loop
Set oExec = Nothing
Set WshShell = Nothing
----------------------------------------------
初歩的な質問ですが、WSHでipconfig命令を実行して結果を得たいのですが、呼出かたが分りません。アドバイスいただけませんか?
Vista(あるいはIE7)でのJScript5.7のバグ情報。
http://support.microsoft.com/?kbid=933812
http://support.microsoft.com/?kbid=933873
夏時間はともかく、長〜いスクリプトを書く場合は
現状非公開パッチなのでサブルーチンを細切れにするしかないかも。
この方法は完全無料で稼げます。
ノウハウとしては、多少めんどくさいですが、
コツをつかんでしまえば、1日1時間程度で月に10万円以上は確実に
稼げます。
費用も一切かかりませんし、ネットが使える環境であれば、
誰でも出来ます。
よくあるホームページを作って〜とか
ブログを作成して〜
というめんどくさい内容ではありません。
PCでネットを使用するので、その2つだけ必要です。
内容を知りたい方は詳しくメールさせて頂きたいので、
tkyy7@infoseek.jp
までメール頂けましたら、詳しい内容返信します。
私にも紹介者としてのメリットがありますので、当然ですが完全無料です。
興味がありましたら気軽にメール下さい。
今の仕事に不満を持っていませんか?
少しの時間で多額のお金。8000万人のネット人口があれば「ノウハウ」さえ持っていれば、
可能です。
後は実行あるのみかと思います。
>Sarukumo さん 2007年 05月 03日 12時 54分 31秒
WSHはWindowsXP以降は標準装備されていますので、あるはずですよ。%windir%\system32にwscript.exeがcscript.exeあれば問題ありません。もしくはコマンドプロンプトからcscript.exeを実行してみるといいでしょう。cscript.exeのロゴでバージョンも確認できますし。
すいませんまん。間違いました。
ver.5.6を探してみた→ver.5.7を探してみた
です。
よろしくおねがいします。
こんにちは。と、はじめまして。
私もこの頃WSHに興味を持ちました。
下にも書いていたのですが、私はVistaHomePremiumなのですがWSH 5.7がどこにあるか分かりません。
むたぐちさんが「VistaにもちゃんとWSHはあって、しかもバージョンが5.7です。」と書いているのですが、これはvistaに標準装備してあるってことですか、それとも追加で入れれるってことでしょうか。
自分なりにググってみたりhttp://www.microsoft.com/japan/msdn/でver.5.6を探してみたのですが見つかりません。またプログラム一覧にも入っていません。
始めまして、WINDOWSのスクリプトセンターの掲載されているものを元にWSHを用いてユーザアカウントの追加削除のスクリプトを作成したのですが、登録時では既に登録されているアカウントがある場合にエラーとなり、削除ではその逆の問題でいきずまっています。既に登録されているデータの混入は防げない為、スクリプトの方で存在判定し処理を継続させないといけないのですが。。
アカウントの存在判定も一般ファイルと同様にEXIST等で可能なのでしょうか?どうもうまくいかないのですが。
アカウントの存在判定の用例等教ご教授下さい。
はじめまして、WSHのことを知り最近興味を持ったものです。
調べてる内にこの掲示板に辿り付きました、どうぞよろしくお願いします。
どのように質問していいのか分かりませんが、質問させていただきます。
以前に印刷ダイアログのOKボタンを押すWSH(vbsファイル)を教えていただいて現在使用しています、ところがこのファイルが起動している内はダイアログが出ると印刷してしまうので、うっとうしい場合があります。
そこで、これを元にもどすwshを作りたいのですが、正直言って全く分かりませんどうか教えていただけないでしょうか。 よろしくお願いいたします。
以下の状況に陥っています。何かいい方法を教えてください。
質問 wsfファイルの中で、複数のvbsファイルをインクルードしたい。
申し訳ありません。単純ミスのようでした。
2ファイル目以降には、ファイルの頭と後ろを <% %>でくくっていました。どうもこれが悪さをしていたようでした。
今のところ、これをはずして、3ファイルぐらいの追加はOKです。
始めまして
以下の状況に陥っています。何かいい方法を教えてください。
質問 wsfファイルの中で、複数のvbsファイルをインクルードしたい。
作成環境
Windows xp Version 5.1.2600
Windows script host Version 5.6
そのほかの情報はどのようにすれば分かるの分かりません。
<<状況>>以前にwebから動作させるためにaspで作ったVbscriptがあります。
都合で、バッチ起動にする必要が出てきました。
aspを参考にvbにすればいいのですが、ズルをして、
aspをマイナーチェンジして、vbsのバッチプログラムを作り始めました。
元は、ファイルのincludeが使えたので
main.asp の中に main_rtn
sub1.inc の中に sub1_a_rtn sub1_b_rtn
sub2.inc の中に sub2_a_rtn sub2_b_rtn
sub3.inc の中に sub3_a_rtn sub3_b_rtn
という風に、たくさんのファイルを作っていました。
これをほぼそのまま継承して作りたいと思い
wsfファイルのインクルード機能を使ったソフトを作成中です。
しかし、wsfファイル中で、1つのファイルのインクルードは
できるのですが、2つめを加えると動作しなくなります。
<<エラー>>
@だけのときはOK,Aを追加すると次のエラー
行 1
文字 2
エラー ステートメントがありません。
コード 800A0400
ソース Microsoft VBScriptコンパイルエラー
<<作成ファイル(test.wsf)の内容>>
<?xml version="1.0" encoding="utf-8" ?>
<package>
<job id="Daily_batch">
<script language="VBScript" src="sub1.inc" /> @
<script language="VBScript" src="sub2.inc" /> A
<script language="VBScript">
<![CDATA[
Option Explicit
WScript.Echo "Hello World."
call sub1_a_rtn()
]]>
</script>
</job>
</package>
以上
あとIronPythonというこれも.NETベースのスクリプト言語があります。
しかしこれも追加インストールが必要です。
ITmedia エンタープライズ:Microsoft、動的言語「IronPython 1.0」をリリース (1/2)
http://www.itmedia.co.jp/enterprise/articles/0609/07/news075.html
ご無沙汰しております。
いろいろ忙しかったりなんだりであまり顔を出せなくてすみません。
To: katakura さん
palazzoさんのおっしゃる通りで、VistaにもちゃんとWSHはあって、しかもバージョンが5.7です。XPのより新しいです。何が変わったのか未調査ですが…。
PowerShellもありますがVistaでも追加インストールが必要です。
詳しくはタイムリーなことに記事を書いたのでそちらをご覧ください。
・Windowsスクリプティング環境比較:PowerShell vs WSH
http://www.atmarkit.co.jp/fwin2k/operation/pshvswsh/pshvswsh_01.html
>kou さん 2007年 04月 11日 13時 43分 22秒
これで取れますよ。
WScript.Echo CreateObject("Shell.Application").NameSpace("shell:cache").Items.Item.Path
>まみ さん 2007年 04月 11日 18時 34分 15秒
以前にも同様の投稿を見たことがありますが、直接レジストリエディタからエクスポートする機能は用意されていないと思います。しかしWMIのレジストリ機能を使用すれば、指定されたレジストリパスのキーや値の列挙は可能ですので、それで取得された結果をレジストリエディタでエクスポートできるreg形式に合わせて、FSOのTextStreamで出力するような形になるのではないでしょうか。
>katakura さん 2007年 04月 12日 13時 20分 55秒
VistaにもWSHはあります。厳密にはCScript.ExeとWScript.Exeという表現の方がよろしいのでしょうか。あと別にVistaになったから、絶対Power Shellを使わなければいけないということでもないと思います。Vista対応のスクリプト言語?Power Shell以外だと分かりませんね。64bit版のバイナリがあっても、それがVistaで必ず動くとは限りませんし・・・。
WSHはVistaには対応していないのでしょうか?
Vista対応のスクリプト言語があれば教えてください。
はじめまして。
Windows2000SP-4 WSH5.6 を使っています。
レジストリエディタで特定のキーを指定してエクスポートする操作をスクリプトで出来ないか考えています。特定のキーには、どのようなサブキーや値があるかは不定です。何か方法がありましたら教えていただけますようお願い致します。
質問失礼致します。
IEで表示されている画像のキャッシュ(ローカルパス)を取得したいのですが、良い方法はないでしょうか?
およよ さん、palazzo さん、情報提供いただき、有難うございました。
まだ実現はしていませんが、ネタが集まってきたので、じっくり勉強したいと思います。
今後とも、よろしくお願いいたします。
m(__)m
(管理人により削除)
(管理人により削除)
(管理人により削除)
(管理人により削除)
>渡辺真 さん 2007年 03月 26日 13時 23分 27秒
これでは?
http://homepage1.nifty.com/MADIA/vb/vb_bbs/200408_04080135.html
またオフィシャルサイトにも載っている技術です。
http://support.microsoft.com/kb/304103
WebBrowserコントロールでも、InternetExplorer.Applicationでもやることは一緒です。
(管理人により削除)
↑サイト内検索
WB.ExecWB
早速回答いただき、有難うございます。
やりたいこと(目的)は、まさにこれです。
Yahooは、やり方として、ニュース部分のフォントサイズを、javascript(yjnews_font_1_1.js)を使って、スタイルシートで、切り替えています。
言ってみれば、htmlソース側を変更しています。
この方法は、IE以外のブラウザを使っている人にも有効だというメリットがあります。
しかし、私は、せっかくIEに、表示で、文字サイズを切替える機能があるのだから、直接IEブラウザのこの機能を、VBSでコントロールしてしまいたい、と思っているのです。
いつか、やり方が見つかりましたら、お教え下さい。
To: 渡辺さん
こんばんわ。もしかしたら Yahoo News の headline ( http://headlines.yahoo.co.jp/hl )
の右上にあるボタン (文字サイズ:小、中、大) の実装を参考にしたら
実現できるかも・・・と思ったりしました。
ブラウザの文字サイズを変更するVBScriptを教えて下さい
「インターネット・エクスプローラ」のメニューで、「表示」→「文字のサイズ」から、ブラウザの表示文字の大きさを、5段階で変更できます。
これを、ホームページの例えばラジオ・ボタンの指定から、VBScriptで操作して、文字サイズを見やすく調節できるホームページを作りたいと思っています。
ググってみると、
文字サイズの変更については、AxWebBrowser.ExecWBメソッドを呼び、引数にLECMDID_ZOOMを指定します。
サイズは0(最小)〜4(最大)で指定できます。
という記述が有りました。
この記述が、VBScriptで使えるのか分りませんが、とにかくやりたいことは、そんなことです。
よろしくご指導、お願いいたします。
(管理人により削除)
To: 風の赴きさん
ご検証いただきありがとうございます。
やはりWSHのホストとしてのバージョンはIE7を入れても5.6のままのようですね。
サイトに関するご意見ありがとうございます。
あのFlashはマイクロソフトから掲載を依頼をされたもので
掲載期限が過ぎるまでそのままにさせていただきたいと思います。
重くなる環境ではFlash(ActiveXコントロール)をオフにするなど
対処いただきたいと思います。
HxRuntime.HxSを「Microsoft .NET Framework 2.0 SDK 日本語版 (x86)」
(setup.exe)の中から見つけ、指定の場所へ入れた所ダイアログは出なく
なりました。お騒がせしました。
サイトについての意見ですが、WSHのトップページにFlashを置くのは
環境によっては重くなる上に鬱陶しいので止めて下さい。
リンクを表示するのにわざわざFlashを使う必要がありますか?
もっとアクセシビリティについて考えて下さい。
XP Home SP2の私の環境では5.6.0.8825のまま変化がありませんでした。
相変わらずヘルプファイルでHxRuntime.HxSの場所を求められますが、
そのようなファイルは存在しません。
ご無沙汰しております。
皆様に質問なのですが、IE7をインストールしたWindows XP SP2環境ではWSHのバージョンはいくつでしょうか?
私のところでは5.6なのですが5.7になるという情報もあります。
スクリプトエンジンは5.7になっていました。
また、Vistaには5.7が入っていることが確認できました。
WSH_Comple.exeでググってもヒットしないのでどんなソフトかは知りませんが、
もしかしたらそのソフトはVB6で書かれていませんか?
そうならVB6のランタイムが必要です。
恐らくmsscript.ocxがないと思われます。
WSH用 コンパイラ WSH_Comple.exeでvbsファイルをコンパイルできません・・・。もし、ちゃんと動いた人がいたら、使い方等教えてください。
はじめまして。XPでWindows2000&XPの5.6最新版
(WindowsXP-Windows2000-Script56-KB917344-x86-jpn.exe)を使用しています。
XPでv5.6用のヘルプファイルをインストールした所、ヘルプの起動直後や
項目をクリックする度に以下のダイアログが出てきます。
『ローカル ディスク に、"C:\Program Files\Common Files\Microsoft Shared\Help\"のファイルが含まれていません。場所を更新してください。』
必要なファイルがないようですが、これは何が原因で起きているのでしょうか。
先日質問させていただいた県ですが、MIXIのコミュニティーで質問させていただき、設計自体を見直すことになりました。
ありがとうございました。
palazzoさん、a3さん返信ありがとうございます。
すいません。具体的な環境等は記載していませんでした。。
おっしゃるとおりXP環境です。ただし作成しようとしている物は
環境を問わずどこでも使用する予定です。ですのでXPで使用したとき
他の環境と変わらないように動作するよう奮闘しています・・・。
><!-- saved from url=(0016)http://localhost -->
>などで、イントラネットゾーンにしてみるとどうでしょうか?
こちらも同様に試しては見ましたが、駄目でした・・・。
<!-- saved from url=(0011)about:blank -->も試しましたが、駄目でした。
記事に記載されているようにinnerHTML=でHTMLを作成後にスクリプトを埋め込むようなことをすればよいのでしょうかね?
まだ、こちらは試していないので試して見ます!!
また他に何かございましたら、教えてください。
はじめまして。
質問があり書き込みさせていただきます。
現在
WindowsXP
Windows Script Host Version 5.6
にて、開発を行っています。
あるフォルダを監視し続け、そこにファイルが投げ込まれた際、ちょっとした処理を加えて、別フォルダに移すというスクリプトを作成しています。
大体の処理が完成したところで大きなファイルのコピー中に作業を行ってしまい、エラーになってしまうという問題が発見され、解決方法を探しています。
在考えているのは、投げ込まれたファイルの移動・コピーの状況を取得し、完了した状態を検知したのち処理を行うようにする方法なのですが、
・ファイルの移動・コピーの状況を取得し、完了した状態を検知する方法
がわからない状態です。
他言語での開発状況が整っていない状態で、WHSに不向きな処理を行っている気もするのですが、ご教授お願いします。
よろしくお願いします。
> para さん 2007年 02月 26日 20時 14分 09秒
> ちなみに <!-- saved from url=(0013)about:internet -->のようなこと
about:internetだと、インターネットゾーンが適用されるのではないでしょうか?
<!-- saved from url=(0016)http://localhost -->
などで、イントラネットゾーンにしてみるとどうでしょうか?
>para さん 2007年 02月 26日 20時 14分 09秒
これはWindowsXP以降のお話ですよね。私はWindows2000を使っていますので、載せてもらったソースは特に問題ありませんでしたし。タイムリーにも、こういう記事を見つけましたので、参考になるのではないでしょうか。
http://scripting.cocolog-nifty.com/blog/2007/03/documentwrite_5b67.html
あとは完全に自責になりますが、about:blankを信頼済みサイトに登録するとか。scriptomaticで似たような現象が起きたことがあったので、それで解決したこともあります。
はじめまして!!paraです。
今HTAファイルの中でIEオブジェクトを生成し、そのIEにスクリプトを書き込む用なことをしています。ですが、IEにスクリプトを書き込むとIE起動時に「セキュリティー保護のため・・・」という情報バーが表示されてしまいます。こちらを表示させずにIEを起動させる方法はないでしょうか?
もし有識者の方いらっしゃいましたら教えてください。
ちなみに <!-- saved from url=(0013)about:internet -->のようなことは
してみましたが、失敗しました。入れる場所がおかしいのかな・・。
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>test</TITLE>
<HTA:APPLICATION
APPLICATIONNAME = "test"
BORDER = "dialog"
BORDERSTYLE = "normal"
CAPTION = "yes"
CONTEXTMENU = "yes"
ICON = "htasamp.ico"
ID = "oCheck"
INNERBORDER = "no"
MAXIMIZEBUTTON = "no"
MINIMIZEBUTTON = "yes"
NAVIGABLE = "yes"
SCROLL = "no"
SCROLLFLAT = "yes"
SELECTION = "no"
SHOWINTASKBAR = "yes"
SINGLEINSTANCE = "yes"
SYSMENU = "yes"
VERSION = "1.0.2"
WINDOWSTATE = "normal"
/>
</HEAD>
<SCRIPT Language="VBScript">
Sub Window_OnLoad
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "about:blank"
objIE.Width = 396
objIE.Height = 120
objIE.AddressBar= False
objIE.MenuBar = False
objIE.ToolBar = False
objIE.Resizable = False
objIE.Visible = True
objIE.Statusbar = False
objIE.Document.Write "<html lang='ja'>"
objIE.Document.Write "<Title>TEST</Title>"
objIE.Document.Write " <SCRIPT Language='VBScript'> <\/SCRIPT>"
End Sub
</SCRIPT>
<BODY>
</BODY>
</HTML>
どうも!綾乃です私個人で色んなHな写真や動画を見れるサイトをやっていますTバック写真が多いかも!!でもあんな写真も撮っちゃいましたwwwwwww
ちなみに3サイズはB85W56H82です。
aitaimiss.freeing.name
およよさん ありがとうございます。
まさしくその通りですね。
過去記事に答えがあったとは.....
Shell.Application では駄目みたいですね。
うーん、難しい。
はてなさん
↑の検索で、www.roy.hi-ho.ne.jp内で
zip ファイル 残る
を検索した一番目では?
windows server2003です。
ActiveDirectoryのユーザ一括登録をする為に
ユーザデータ(csvファイル)の自動化が出来ないか
検討しています。
何か良い案はありませんでしょうか?