• ベストアンサー

VBScriptの作り方を教えて下さい

前回質問をしまして、VBScriptのプログラミングの内容を教えて頂きました。 大変ありがとうございました。 下記の作業も必要なのですが、プログラムの内容を教えて頂けないでしょうか。 Internetexplorerのプロパティ→ 履歴のクリア(H)→ はい(Y) H、Y、H、Y と繰り返しします。 チャレンジしたのですが、難しくて分かりませんので、宜しくお願いします。 Windows98、InternetExplorer6 です。

質問者が選んだベストアンサー

  • ベストアンサー
  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.1

これはどうでしょう? btn = msgbox("インターネット履歴をクリアします",vbQuestion + vbOKCancel) if btn = vbCancel then WScript.Quit Set WshShell = CreateObject("WScript.Shell") Set objShell = CreateObject ("Shell.Application") TmpIePath = WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache") Set obj = WshShell.Exec("rundll32 shell32,Control_RunDLL inetcpl.cpl") do until WshShell.AppActivate(obj.ProcessID) WScript.Sleep 100 loop WScript.Sleep 500 WshShell.SendKeys "%h" do until WshShell.AppActivate("インターネット オプション") WScript.Sleep 100 loop WshShell.SendKeys "y" do while WshShell.AppActivate("インターネット オプション") WScript.Sleep 100 loop WScript.Sleep 1000 WshShell.SendKeys "{enter}" WScript.Quit

yuka2015
質問者

お礼

ittochan 様 また、教えて頂きまして本当にありがとうございます! とても 嬉しい気持ちでいっぱいです! 前回の物と今回の分を、つなげる事はできますか? F、D、リタ-ン、H、Y  この繰り返しをします。 どうぞ、宜しくお願いします。

その他の回答 (1)

  • Khazad
  • ベストアンサー率30% (17/56)
回答No.2

ごめんなさい。よこやりです。 >前回の物と今回の分を、つなげる事はできますか? >F、D、リタ-ン、H、Y  >この繰り返しをします。 >どうぞ、宜しくお願いします。 これだと、「変わりにプログラムを作ってください」 ととられかねないです。 たとえば、 >前回の物と今回の分を、つなげる事はできますか? なので、単純に前回と今回のプログラムを続けて記述して、動かした上で、動かないなら、「~のエラーメッセージが出て動きません」という感じで再投稿するなどすれば、回答するほうもわかりやすいし、そちらの成長にもなるかと…。 あと、それと並行して、下記参考リンクのようなページや書籍などでVBSCRIPT自体の学習もすると、 今回教えてもらったプログラムの内容も理解することができるようになるかと思います。

参考URL:
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/
yuka2015
質問者

お礼

回答していただきまして、ありがとうございます。 続けてやってみましたが、最初の所で止まってしまいました。 最後の行 End Function を削除すると、不明なメッセ-ジが出てきますので、投稿致しました。 前回、参考のリンクも教えて頂いて見ましたが…。 努力をしなければだめですね。頑張ります。ありがとうございました。

関連するQ&A

  • WSH VBScriptについて

    VBSの初心者(プログラミングも)なのですが、WSH VBScriptについて教えていただきたいことがあります。 フォルダの有無を確認し、フォルダがあれば、更新を行い、 なければ終了するという内容のバッチを作りたいのですが、 どうやってもうまくいきません。 ちなみに更新内容は、更新日付をみて、20081120よりも前の ファイルだった場合、更新を行い、同じかそれよりも新しければ 更新は行いません。 ちなみに、更新を行う場合は、パスワードを入力してから、 新しいファイルと入れ替える(上書き)というものです。 どのようなプログラムにすればよいのか、 お力添えをお願いいたします。

  • インターネットの履歴を削除するには?

    Internetexplorerのプロパティで履歴のクリアをしても 履歴が消えないのですが・・・他に方法があるのでしょうか?

  • VBScriptのエラー処理について

    SQLコマンドファイルを読み込み、ODBC接続によりSQL Server(2000)に接続してクエリを発行し、結果をログファイルに出力するVBScriptのプログラムを作成しています。 SQL実行時のエラーに対応する為、vbscriptにてエラーオブジェクトのプロパティ(Err.Number、Err.Description)を使用し、エラー番号と内容を取得しているのですが、SQL Serverから発行しているエラー番号が取得できません。エラー内容は正常に取得できるのですが、なぜか正常なエラー番号が取得できない状態です。例えば、SQL Serverの構文エラーのエラー番号は170ですが、Err.Numberで取得すると、-2147217865となってしまいます。 原因のわかる方がいらっしゃいましたら、是非ご教示いただきたく。 お手数をおかけ致しますが、宜しくお願い致します。

  • VBScriptでクリップボードにコピーする方法

    VBScriptでクリップボードにMsgboxの出力データをコピーする方法がわかりません。 ちなみにMsgboxの出力データは変数で、処理の流れとしてMsgboxのすぐ後に クリップボード上に変数をコピーをするようにしたいと考えています。 ネットで検索した結果、下記内容がありましたが、1年前くらいにまったく同じ目的のVBScriptを作成したことがあり、その時は特に制限なく目的のVBScriptが作成できたので、どうも納得できません。 その時のを残しておけばよかったと今になって後悔。。。しかもどうやったか忘れた。。。。 ===ネット検索結果=== WSH と VBScript のいずれにもクリップボードを操作する機能はありません。どちらを使用しても、クリップボードにデータをコピーしたりクリップボードからデータを貼り付けたりすることはできません。一方、Internet Explorer ではクリップボードを操作することができます。 他にもネット上で、とりあえずInputBoxに出力してコピーするような流れの内容がありましたが、今回の目的(見栄えとして)として、どうしてもMsgboxのすぐ後で処理させたいのでわかる方おりましたら宜しくお願いします。

  • エクセルVBAとVBScript

    WinXP/Pro  エクセル2002使用です。 VBScriptで下記のメール送信のプログラムを作り、 それをエクセルVBA→BATファイル→VBScript(→エクセルVBAに戻る)という流れで自動化させましたが、下記のコードでは、現在進行中のエクセルVBAとは別のブックを作るのでうまくいきません。 (エクセルブックを2重起動してしまいます) Set objExcel =GetObject( "d:\auto\aaa.xls") Dim stradrs Dim strkk Dim strjikan with objExcel stradrs = .Worksheets("Sheet1").Cells(5,1).Value strkk= .Worksheets("Sheet1").Cells(4,1).Value strjikan = .Worksheets("Sheet1").Cells(4,2).Value end with Set objEmail = CreateObject("CDO.Message") objEmail.From = "***@***.com" objEmail.To = stradrs objEmail.Subject = "表題" objEmail.Textbody = "内容" objEmail.AddAttachment("d:\auto\" & strkk & strjikan & ".doc") objEmail.Send Set objEmail = nothing Set objExcel = nothing 目的は、最初に立ち上げている(VBScriptを呼び出したVBAを実行中の)エクセルから値を取得したいのです。 下記いずれかの方法によると思っています。 (1)エクセルVBAから直接VBScriptに引数で値を渡すことは可能でしょうか? (2)VBScriptからエクセルブックを起動させずに値を取得することは可能でしょうか? 値はテキスト文字です。 何卒よろしくお願いします。

  • VBScript pdfファイル結合

    VBScriptでpdfファイルを結合するプログラムがネット上にあったので、そのプログラムを使ってpdfファイルの結合をしました。 しかし、出来上がったpdfの容量がやけに小さいので、プロパティを見ると、何故か、「Web表示用に最適化:はい」になっていました。 このプログラムは、最初に「新規のページ」を作って、そこに既存のファイルを挿入していく、というものでした。 既存のファイルはすべて「Web表示用に最適化:いいえ」なのですが、どうやら、「新規のページ」で作ったページが「はい」になっているため、最適化されてしまうみたいです。 しかし、私は「Acrobat」を通常使うのプリンタに設定して、何の設定変更もなしに(保存場所だけは、そのたびごとに変わるが)、ワードなどのファイルをpdfに出力すると、「Web…」は、「いいえ」のファイルができます。 従って、私のデバイスドライバとしての「Acrobat」の標準の設定は「Web…」は、「いいえ」のはずなのに、「はい」のページが「Create」されてしまうのは、なぜなのでしょう。 というより、私が知りたいのは、元ファイルのまま、pdfファイルを結合したいのです。 印刷関係の仕事をしていますので、dpiなどが変わる事は許されません。 なお、プログラムは Set y = CreateObject("AcroExch.PDDoc") y.Create←ここで「Web…:いいえ」のページを作成したい! Set z = CreateObject("AcroExch.PDDoc") For i = 0 to c z.Open(e(i))←「フォルダ名&ファイル名のデータ」 y.InsertPages -2, y, 0, z.GetNumPages, False z.Close Next y.Save 5, v & "\Result.pdf" y.Close 詳しい方、よろしくお願い致します。

  • VBScriptでの整数型価格データの比較演算

     VBScriptで簡単な価格比較のプログラムを作りました。文字型で価格データが格納されていて、その価格の大小を比較するものです。私は下記のように書きましたが、どうも正しく演算されていない場合があるようです。 if CDbl (Price1) < CDbl (Price2) then  比較の内容は日本円なので整数です。上記の演算がもしも適切でない場合はどのようにすれば適切かをお教え頂ければ幸いです。適切である、というご回答でも構いません。  よろしくお願いします。

  • ActiveXコントロールCalendarの日付自動取得について

    お世話になります。 現在Microsoft Development Environmentを使用してプログラミングをしているのですが、ActiveXコントロールにあるCalendarについて質問したいことがあります。 このCalendarではプロパティをいじるだけで自動的に今日の日付を初期値にすることはできないのでしょうか? VBScriptあたりでプログラムを組まないとできないのでしょうか? よろしくお願いします。

  • インターネットのプロパティ

    インターネットの入り口が、MSNとInternet Explorerがあって、MSNからのプロパティーしか、プロパティーがいっぱいありませんでした。 使わないので、MSNうざいと思い消したところ、プロパティーを変える手段がなくなってしまいました。 今プロパティーを開いてあるのは「全般」「ショートカット」「相互性」だけです。 履歴のクリアとかソースのクリアとかしたいのですが、どうしたらプロパティーをたくさん出すことができるでしょうか? 知識がないので、ちょっとヘンな文になりました。 OSはXPです。 私の文の意味を理解してくれて解決法を知っているかた、回答よろしくおねがいします。

  • VBscriptを実行するとコマンドコンソールウインドーが表示されてしまう

    VBscript初心者です。 VBscripでinputbox入力したものをmsgboxで表示するプログラムを 自作して、仕事で使用していました。 option explicit dim strmessage,y strmessage=("メッセージを入力してください。","メッセージ入力") if isempty(strmessage) then wscipt.quit y=msgbox("""" & strmessage & vbcrlf & "このメッセージを警告にしますか?",vbquestion + vbyesno,"メッセージ確認") if y=vbyes then msgbox strmessage,vbexclamation,"メッセージ" else msgbox strmessage,vbinformation,"メッセージ" end if 今日から、これを実行したときにコマンドコンソールのウインドーが 表示されるようになってしまいました。 このウインドウーを表示させなくするにはどうしたらよいでしょうか? また、Wscript.echoを使用したときにウインドーが表示されません。 初心者の私にもわかりやす回答をよろしくおねがいいたします。