昔は某住宅メーカーの下請けだった、不況の呼び声が立つか立たないかって
時にいきなり切り捨て、困った挙句に会社を作れど、デフレスパイラルの渦の中。才能やデザイン力が在っても、この時代何の意味も成さない。そんな時 誰でも出来て 人に涙を流して喜んで貰える仕事に巡り合えました。コツコツと頑張れば報われる仕事です。さあ 頑張ろう〜
ミスった。前はスペースを置換してうまくいってたと思ったけど。
1) 「既存で存在しない」は矛盾してる。"既存で"はいらないのでは?
2) FSO.BuildPath()にフルパスを返す機能は無いので1つ目のは必要ない。
3) >If Fs.FileExists(folderpath)=false Then
>'もしファイルが既存で存在しないなら作成
>filepath=Fs.BuildPath(folderpath,FileName)
>Fs.CreateTextFile filepath
>'5.新しく作ったフォルダに、0バイトのテキストファイルを作成
>End If
このif文が常に実行されてます。filepathを得てからIf Fs.FileExists(filepath)して下さい。
間違い探しは楽しいですが既に自己解決してそうな問題ですね。。
1) 「既存で存在しない」は矛盾してる。"既存で"はいらないのでは?
2) FSO.BuildPath()にフルパスを返す機能は無いので1つ目のは必要ない。
3) >If Fs.FileExists(folderpath)=false Then
>'もしファイルが既存で存在しないなら作成
>filepath=Fs.BuildPath(folderpath,FileName)
>Fs.CreateTextFile filepath
>'5.新しく作ったフォルダに、0バイトのテキストファイルを作成
>End If
このif文が常に実行されてます。filepathを得てからIf Fs.FileExists(filepath)して下さい。
間違い探しは楽しいですが既に自己解決してそうな問題ですね。
ファイルに思ったような書き込みができません。
WriteLog "a","ABCDEFG0123456"
WriteLog "a","ABC"
Function WriteLog(FileName,Message)
'初期処理
Const ForReading = 1,ForWriting = 2,ForAppending = 8 '定数の指定
Dim Fs,folderpath,filepath
Set Fs = WScript.CreateObject("Scripting.FileSystemObject")
Const foldername="e:\log" 'ログを作成するフォルダを指定
folderpath=Fs.BuildPath(foldername,"")
'新しく作成するフォルダのフルパスを得る
If Fs.FolderExists(folderpath)=false Then
'もしフォルダが既存で存在しないなら作成
Fs.CreateFolder folderpath
'フォルダを作成
End If
If Fs.FileExists(folderpath)=false Then
'もしファイルが既存で存在しないなら作成
filepath=Fs.BuildPath(folderpath,FileName)
Fs.CreateTextFile filepath
'5.新しく作ったフォルダに、0バイトのテキストファイルを作成
End If
'メイン処理
Set oTs1 = Fs.OpenTextFile(filepath,ForAppending)
'ファイルを書き込みモードで開く
oTs1.WriteLine Message
oTs1.WriteBlankLines 1
oTs1.close
End Function
として、実行するとaのファイルには
「ABC」しか書き込まれないのですが、何がおかしいのでしょうか??
Dear シナプス さん
> このWSC登録できないです
コメント部分を削除しても無理でしょうか?
私が試した範囲では、全角文字が含まれていると、
それがどこであろうと登録できなかった記憶があります。
このWSC登録できないです
どこがおかしいのかどなたかお教えください。
まだ中身はないけど作成する予定です。
とりあえず骨格が出来たので登録しようとしたら動かなくて。
<?xml version="1.0" ?>
<?Component Error="True" Debug="True"?>
<package>
<component>
<registration progid="Sinapusu.TextLap" description="TextLap" version="1.0"/>
<public>
<comment>
テキストストリームオブジェクトのラップ
LastAppendで最後に追加
NewOverWriteでTextの中身を消して新しく
ReadFarstLineで一行だけ読み込み
ReadAllで全ての行を読み込む
</comment>
<method name="LastAppend"/>
<method name="NewOverWrite"/>
<property name="ReadFarstLine"/>
<property name="ReadAll"/>
</public>
<script language="VBScript">
<![CDATA[
Option Explicit
Sub LastAppend(strFilePath,strWriteDate)
End Sub
Sub NewOverWrite(strFilePath,strWriteDate)
End Sub
Function ReadFarstLine(strFilePath)
End Function
Function ReadAll(strFilePath)
End Function
]]>
</script>
</component>
</package>
ただし、履歴フォルダの場合のみのようです。
です。今度こそ…これで文字化けしたら諦めます。 :)
最後、文字化けしてしまいました…
ただしねフ鬟侫D襯世両豺腓里澆里茲Δ任后」
です。
管理人さん、この間はありがとうございました。
ShellNameSpaceについて、履歴表示の変更方法がわかりましたのでご報告に参りました。
CountViewTypes
SetViewType
この2つを使用します。
あからさまに「SetViewType」が怪しいと思っていたのですが、
これ単独では動作しませんでした。
まず、どんな形でもいいので一度「CountViewTypes」を呼びます。
lngRtn = nsc.CountViewTypes;
その後、「SetViewType」に値を入れます。
-1:日付順
0:サイト順
1:サイトを表示した回数順
2:今日表示したページ順
これで変更されます。
ただしねフ鬟侫D襯世両豺腓里澆里茲Δ任后」
ADO接続を行い
Accessのテーブルに固定長テキストをインポートしたいのですが
方法がわかりません。
どなたかご教授お願い致します。
固定長フィールドを指定の文字数で区切りたいです。
ActiveDirectory(AD)に登録されているユーザーのパスワード変更(リセット)WSHをADSIを用いて作成しています。
<環境>
ADサーバー:windows2000server
DBサーバー(クライアント):Windows2000server
<条件>
@現在使用中のパスワードは用いない(よって、ChangePasswordは使用できない。)
Aスクリプトを実行するDBサーバー(クライアント)はADに参加していない。
上記を満たすスクリプトを作成中なのですが、なかなかうまくいきません。
下記のユーザー「user_a」のパスワードを変更するスクリプト(抜粋)はADサーバーでは正常に動きます。(当然だと思いますが・・・。)
(SetPasswordではなく、ChangePasswordを用いて実行した場合は、DBサーバー(クライアント)でも正常に動作します。しかし、それでは条件を満たしていません。)
Set objDs = GetObject("LDAP:")
Set objContainer = _
objDs.OpenDSObject("LDAP://111.111.111.111/ou=xxxx,dc=xxx,dc=xxxx,dc=xxx", _
"Administrator", "password", ADS_SECURE_AUTHENTICATION)
Set objUser = objContainer.GetObject("user", "cn=user_a")
objUser.SetPassword "newpass"
objUser.SetInfo
DBサーバー(クライアント)で実行すると下記のようなエラーがでます。
-2147023570 オートメーション エラーです。
ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています。
一通り資料、HPも見ましたがわかりませんでした。
周りにも詳しい人がおらず、非常に困っております。もし、わかる方がおりましたらご教授お願い致します。
はじめまして。
早速ですが、WSHからJavaを起動させたいと思い、
Set WshShell = Wscript.CreateObject("WScript.Shell")
WshShell.Run "java パッケージ名.クラス名 パラメータ"
と記述し、WSHファイルダブルクリックして実行してみたのですが、エラーがでているようです。
「でているようです」というのは、コンソール(?java.exeっていう画面)が閉じてしまうので
どのような結果がでているか分からない(思い通りの結果になっていない)のです。
どなたかご存知の方、いらっしゃいましたらご教授いただけないでしょうか?
(コンソールを開きっぱなしにする方法もゥァヒ
よろしくお願い致します。
さざなみです。
えん さん
> 問題解決したみたいです。
よかったですね。
> ネットをみてたら急にファイルがダウンロードされて感染して
> しまったみたいです。
<body onload=func()>でjavascriptやvbscript
が実行されるサイトも多いですからね。
で、思ったのですが、onload=func()を無効にする方法ってありますか。
onunloadとかは簡単に無効にできるんですが、onloadだけは難しいです。
問題解決したみたいです。さざなみさんありがとうございました。
また何かあったらよろしくお願いします。
えんです。
さざなみ さん ありがとうございます。
しかしながら
http://www.trendmicro.co.jp/vinfo/virusencyclo/default5.asp?VName=VBS_PINOCC.Aをみても解決できなかったので投稿したのですが…。
どこで入手したかとのしつもんなんですけど、ネットをみてたら急にファイルがダウンロードされて感染してしまったみたいです。
はじめまして
accessを使わずにAccessにアクセスして
クエリーをテキストファイル(定義ファイルを使用して)にエクスポートする方法
を教えて頂けないでしょうか?
どうぞ宜しくお願い致します。
初めて投稿します。
お松と申します。
よろしくお願いします。
現在、サーバ上にあるインストーラー(EXEファイル)を
ブラウザのボタンをクリックすると、それをインストールできる
ような機能の構築を検討しています。
インストーラーがクライアントそれぞれにはなくサーバ上に
あるのですが、VBSやJScriptを用いて
上記のような機能は開発可能でしょうか??
いろいろと検索したのですが、なかなか見つからずこの掲示板に
投稿してみました。
ご教授よろしくお願いします。
さざなみです。
> えん さん
> ってでてくるんですけどどうやったら解決しますか?
ここをご覧ください。
http://www.trendmicro.co.jp/vinfo/virusencyclo/default5.asp?VName=VBS_PINOCC.A
ところで、自分はそういうものに遭遇しないんですけど、どこから、入手されるんですか。
質問:
WindowsME起動時に下記のような窓が開きます。
|----------------------------------------------------------------|
| Windows Script Host |
|----------------------------------------------------------------|
| スクリプトファイル"C:\WINDOWS\SYASHIN3.vbs"が見つかりません。|
| |
| |
|----------------------------------------------------------------|
ってでてくるんですけどどうやったら解決しますか?できるだけ詳しく教えていただけるとありがたいです。一応ウィルスらしきものはもう駆除したとおもうのですが。よろしくお願いします。
to hamham さん
ありがとうございます。やってみたのですが、やはりうまくいきません。
そのスクリプトそのものを実行しているhtaが使用中のため削除出来ないようです。
私もいろいろと調べてみたのですが、これっていわゆるアンインストーラを
作るのと同じように、batファイルを書くか自分自身のプロセスを殺せるような
exeを作らないと実現出来ないのでしょうか....。
というか、実はそれ以前の理由でhtaにこういった機能(ディレクトリを読んだりファイル操作したり)を
持たせることに問題が出てきてしまいました。
そもそもhtmlじゃ出来ないけどhtaならそういったことが出来るから、という理由で
htaを採用したのですが、アラート無しでファイル操作などができるとは言っても
実際はどのマシンにもノートン先生などのウィルスチェッカが稼働しており、
FileSystemObjectを宣言した時点で「悪質なスクリプトです」といった
アラートが表示されてしまうことが分かってしまったのです。
これは回避しようが無いですよね...。これが回避できたらウィルスチェッカとして成り立たないし..。
というわけで、クライアントのシステム部に難色を示されてしまったので
htaではなく別の方法を考えざるを得なくなってしまいました...。
実は結構困ってます...(;´Д`)
はじめまして。いつも参考にさせて頂いてます。
To: pppさん
やってみたところできたので、投稿させて頂きました。
こんな感じでどうでしょうか。
スクリプトの作業フォルダ(カレントディレクトリ)を
移動してみました。
function del(){
fso = new ActiveXObject("Scripting.FileSystemObject");
WshShell = new ActiveXObject("WScript.Shell");
if (WshShell.CurrentDirectory = folderPath) {
// カレントディレクトリの移動
WshShell.CurrentDirectory = fso.GetParentFolderName(folderPath);
}
fd = fso.GetFolder(folderPath);
fd.Delete(true);
}
こんにちわ。
set objDlg = CreateObject("Shell.Application")
objDlg.BrowseForFolder 0,"選択",0,0
でフォルダを選択したいのですが、HTML単独で(デスクトップなどから直接)
起動するとうまくいくのですが、
IISにファイルをおき、http://....としてアクセスすると、
「objDlg.BrowseForFolder 0,"選択",0,0」の部分でエラーが出てしまいます。
「エラー:書込みできません」
なぜなのでしょうか???
おわかりになられましたら、ご教示ください。よろしくおねがいします。
はじめて投稿させて頂きます。pppと申します。よろしくお願い致します。
さて、いきなりの質問で恐縮なのですが、HTAのことでちょっと悩んでいます。
今作っているHTAに「ある時期が来たらすべての関連ファイルを削除する」という機能を持たせたく、
このような削除functionを書いてみました。
function del(){
fso = new ActiveXObject("Scripting.FileSystemObject");
fd = fso.GetFolder(folderPath);
fd.Delete(true);
alert("Expired. Good-Bye.");
}
ところが、このHTAそのものがこのfolderPath直下にあるためにどうしても削除できません。
このHTAそのものも含めて削除する手段は何か無いでしょうか?
そういったことをHTAでやることは可能でしょうか?
はじめまして。
wshでプログラミングをするときに参考にさせていただいております。
今、作成しているプログラミングで、非常に困っております。
batファイルや、exeファイルのプロパティを開いて、「プログラム」タブにある
「プログラム終了時にウインドウを閉じる」をwshのプログラミングでオンにした
いのですが、どのようにすればいいのか全くわかりません。
知っていましたら、ご教授願いたいのですが。
よろしくお願いします。
ウワーン。IE6SP1を当てたらWshlab.htaのキーワード検索が使えなくなったよー。鬱
To: Fukubaさん
エラーメッセージは「VBスプリプトがない」ではなくて「Wscript.exeがない」ではないですか?下記のページが参考になると思います。
http://homepage2.nifty.com/winfaq/fontstrouble.html
To:つちやさん
シート名の後ろに$を付けたら、RS.Open QL, CN で開きました。
すみません,とんちんかんなことを書き込むことになるかもしれません。
windows98ユーザーなのですが,あるときから,文字化けが起こるように
なりました。たとえば,右上隅のウインドウを閉じるとかの記号が化けるのです。
これを直すのに,ひとから,*.VBSというファイルをもらい,指示どおりに
起動しようとしたのですが,VBスプリプトがないというメッセージがでます。
そこで,インターネットでこの意味を調べていたところ,ここにたどり着いた
ような次第です。なにやら,ここのHPをみますと,visual-basicという
言語?のinterpreterが,本来,入っているはずのものがないということの
ようですが,どうしたものやら,よくわかりません。どなたか,ご教示を
いただければとお願いを申し上げます。
To:つちやさん
申し訳ありません。お手間を取らせてしまって。
>RS.Open QL, CN
>とか、RS.Open QL, CN, 0,1
>あたりでもだめですか?
エラーメッセージが変わりました。いずれも
Microsoft][ODBC Excel Driver] オブジェクト '***' が見つかりませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください。
コード: 80040E37
ソース: Microsoft OLE DB Provider for ODBC Drivers
になりました。***はstrFileNameで指定したExcelファイルの中にあるシートに付けた名前です。パス名、シート名を全て半角英数字(ロングファイル名不使用)にしても同じです。
>ADOはIE6ではバージョンアップされないと思いますが、
>(Officeを入れるとバージョンアップされることがあります)
現在テストしている職場のパソコンはWin98SE+IE6+office2000です。昨日までテストしていた自宅のパソコンはWin98SE+IE6+Office97です。
RS.Open QL, CN, adOpenStatic, adLockPessimistic,adCmdTextのときのエラーメッセージはどちらも同じです。
なお、ADOに関する知識は全くと言っていいほどありませんので、ADOを使うならばあらかじめ当然やるべきことが何かあったとしても、それはやっておりません。
Dear 松尾 さん
> エラー: この ODBC ドライバは要求プロパティをサポートしません。
RS.Open QL, CN
とか、RS.Open QL, CN, 0,1]
あたりでもだめですか?
ADOはIE6ではバージョンアップされないと思いますが、
(Officeを入れるとバージョンアップされることがあります)
以下のところで新しい版を入手することは可能です。
(MDAC2.6以降はJETがサポートされないのでJETは別に入れといた方がいいかも)
http://www.microsoft.com/japan/msdn/data/default.asp
以前、筑集眺餅さんに頂いた回答の調査結果を報告しておきます。
>>>1、Win2kのRunメソッドでショートカットファイルが実行できない
>>ワテの環境(XP Pro)やとイケますわ。<なんで?
>
>私も確認したのが自宅のPCのみなので、もしかしたら環境依存の不具合なの
>かもしれないですね。
>今度別のWin2KPCが弄れる状況になったら試してみます。
会社のPCで試してみたら上手く起動できました。
ただ、うちの部署にはWin2Kが1台しかなく(基本的にNT4ばかり)スタンドア
ロンのためにパッチなどを当てていないためその辺の差があるのかもしれませ
ん。
まあ、結局ShellExecuteが出来る環境ではそちらを使うことにしておきます。
>>表題が "受信トレイ - Outlook Express" やと、
>>oShell.AppActivate "Outlook Express" で見失いますワ。
>>せやけど、
>>oShell.AppActivate "utlook Express"
>>やと、イケまんねん。<なんで?
>
>え!そうなんですか?
>早速今日にでも試してみます。(今会社なんで)
これ確認できました。
色々試してみましたが、「utlook Express」以下の文字列なら何でもヒットする
のに「O」を入れるとダメみたいです。
漢字云々は関係ないようでした。
もしかしたら文字数に制限があるのか(とは言ってもちょっと少なすぎですが)単なるバグかって所ですかね。
まあ当面は「utlook Express」で探すようにします。
おかげさまで、Excelを操作するやり方のほうでスクリプトの書き換えもできて格段にスピードアップしました。
IE6がインストールされているので、ADOが使えるのではないかと思って、勉強のためにADOを使うやり方を試してみましたが、
RS.Open QL, CN, adOpenStatic, adLockPessimistic,adCmdText
のところで、
エラー: この ODBC ドライバは要求プロパティをサポートしません。
コード: 80040E21
ソース: Microsoft OLE DB Provider for ODBC Drivers
私の環境では使えないということでしょうか。OSはWin98SEです。
To:つちやさん
どうもありがとうございました。明日、じっくり試してみます。
#質問して良かった。
続きです。
■ADOを使った場合
strFileName = "C:\MyFolder\Book1.xls"
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adCmdText = 1
Const adCmdTable = 2
Set CN = CreateObject("ADODB.Connection")
CN.ConnectionString = "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & strFileName
CN.Open
QL = "SELECT * FROM [名前]" 'シート名で指定
Set RS = CreateObject("ADODB.Recordset")
RS.Open QL, CN, adOpenStatic, adLockPessimistic,adCmdText
Arr = RS.GetRows
'RS.MoveFirst
'MsgBox RS.GetString '直接テキストとして取り出す場合
RS.Close
CN.Close
Set RS = Nothing
Set CN = NOthing
ということですが、体感的にはDAOが一番速い気がします。
Dear 松尾 さん
とりあえず、例を示してみましょう。
■オートメーションでExcelを操作する場合
Set XL = CreateObject("Excel.Application")
XL.Workbooks.Open "C:\MyFolder\Book1.xls"
XL.Visible = True
Set SHT = XL.ActiveSheet
Arr = SHT.Range(SHT.Cells(1,1),SHT.Cells(6,5)) 'A1:E6
'Arr = SHT.Range("名前") '参照範囲に名前を付けている場合
これで、Arrにデータが配列として格納されます。
たとえば、ここでArr(6,5)とすれば、右下隅のデータが採れます。
次に、参照範囲がリスト形式(1行目が列名)で、名前をつけている場合です。
名前は[名前]とつけたとします。
■DAOを使った場合
DBPath = "C:\MyFolder\Book1.xls"
Set DBE = WScript.CreateObject("DAO.DBEngine.36") '97の場合は35
Set DB = DBE.Workspaces(0).OpenDatabase(DBPath, False, False, "Excel 8.0;HDR=yes;")
Set RS = DB.OpenRecordset("名前")
'Set RS = DB.OpenRecordset("Sheet1$") 'シート名で指定する場合です。
RS.MoveLast
RS.MoveFirst 'こうしないとレコード数がわかりません
Arr = RS.GetRows(RS.RecordCount)
RS.Close
DB.Close
Set RS = Nothing
Set DB = Nothing
Set DBE = Nothing
で、Arrにデータが配列として格納されます。
To:つちやさん
アドバイスありがとうございます。
>Excelの参照範囲と同じ大きさの配列を作成して、
>そのまま代入してしまう方が速いでしょう。
For文を使って一つ一つ移していくことしか思いつかないのですが、それだと
一つのセルのデータを移すのにmsecのオーダーの時間がかかりますので、全体では
スタート時に分単位の時間がかかりそうです。何かうまい方法があったら教えてください。
>Excelを起動しないでやるのであれば、
>ADO経由でSQL文を発行して取得してしまうという手もあります。
こちらのほうはあまり知識がないのでもっと勉強する必要がありそうです。
SQL文というのはExcelのファイルに対しても使えるんですか?
Dear .yu さん
> のようにファイル名にもとずいてフォルダを作成しファイルを移動させる[73-47]
参考までに、D&Dで受け取ったファイルを振り分ける例です。
OLDフォルダはすでに作成してあるものとします。
同名のファイルがすでにあるとエラーを出します。
(上書きする場合はCopyFileして、もとのファイルをDeleteFileします)
振り分け用フォルダはファイル名の最初の2文字をとってます。
もしも拡張子で振り分ける場合は、
Left(FS.GetBaseName(FilePath),2)を、FS.GetExtensionName(FilePath)に変更します。
If WScript.Arguments.Count = 0 Then WScript.Quit
Set FS = CreateObject("Scripting.FileSystemObject")
For Each FilePath In WScript.Arguments
FolderName = "C:\My Documents\OLD\" & Left(FS.GetBaseName(FilePath),2)
If Not FS.FolderExists(FolderName) Then FS.CreateFolder(FolderName)
FS.MoveFile FilePath, FolderName & "\"
Next
Set FS = Nothing
Dear 松尾 さん
Excelの参照範囲と同じ大きさの配列を作成して、
そのまま代入してしまう方が速いでしょう。
Excelを起動しないでやるのであれば、
ADO経由でSQL文を発行して取得してしまうという手もあります。
いずれにせよ、参照範囲がとびとびだったらだめですが。。
唐突ですが、
UTF-8のテキストファイルを、Shift-JISに変換するサンプルです。
Microsoft ActiveX Data Object (ver2.5以上)が必要です。
なお、指定可能な文字コードは、ISO-2022-JP、EUC-JP、UNICODE、UTF-7など。
MSXMLのXMLHTTPを使う場合は、Srcストリームの方に修正が必要ですが、
結構手軽で応用範囲が広いかも。
(改行コードの指定が必要な場合はLineSeparatorを使います)
Const adTypeText = 2
Const adSaveCreateOverWrite = 2
Set Src = CreateObject("ADODB.Stream")
Src.Open
Src.Type = adTypeText
Src.Charset = "UTF-8"
Src.LoadFromFile "C:\UTF8.txt"
Set Dst = CreateObject("ADODB.Stream")
Dst.Open
Dst.Type = adTypeText
Dst.Charset = "Shift_JIS"
Src.CopyTo Dst
Src.Close
Dst.SaveToFile "C:\SJIS.txt", adSaveCreateOverWrite
Dst.Close
Set Src = Nothing
Set Dst = Nothing
to 筑集眺餅 さん
アドバイスありがとうございます。
>FAXソフトでガンバルんやったら、んー、クリップボードに
>日本語入れといて、”編集”−”貼り付け”狙いやろかなぁ?
>なんや、あんまりパッとしまへんな・・・。
試作してみて確認してみます。
ありがとうございます。
チャブーンです。
どもども、お久しぶりです。
最近、いそがしくほとんど自分とこのページも更新してませんでしたが。
今日あたり、24:00 頃から久しぶりに IRC に入ろうかと思ってます。
よろしければ、遊びに来てくたさい。
では〜。
WSHからExcelを起動してセルのデータを参照するスクリプトを作って使っていま
すが、1回の参照でmsecオーダーの時間がかかるらしく、累積するとかなりの時間
になってしまいます。使用範囲のセルデータをあらかじめブロックで転送できれば
時間が短縮できるのではないかと思いますが、そんなことはできるんでしょうか。
管理人さま、公開の許可ありがとうございます。
http://sleipnir.sub.jp/cgi-bin/bbs3/wforum.cgi?no=64&reno=no&oya=64&mode=msgview&page=0
こちらにて公開致しました。
もしよろしければ使ってみてください。
73-46 To: つちや さん
> ◆sleipnir
> って、起動軽いですか?
まあ速いほうかと。
> BugBrowserはIEより起動が遅くて、結局DonutRaptに戻ってしまってました。
> Donut系は、Shell.Application使ってタイトルやらinnerHTML取得できるのはいいんですが、
> どうしても開いた順でしか取得できなくて。。。
sleipnirはオブジェクトモデルがしっかり作ってあるっぽいので、その辺りは考慮されてるかと。
よく調べずにいってますけど。
> ◆FileMakerをWSHで動かすと。。
FileMakerの普通の使い方もままならないです。
73-46 To: 石田 さん
> Windows NTや2000 Serverで、WSHからWMI云々を使って、ローカルのフォルダやファイルの所有権を取得する方法はありますか?
> 具体的には、ユーザによってアクセス制御リストがカスタマイズされ、継承も解除され、Administratorsすら削除されたフォルダについて、強制的にAdministrators権限を入れたいのです。なお、親フォルダにはAdministratorsがついていますので、所有権の取得は可能な状態です。
52-46 管理人むたぐち 2001/11/23 23:44 が参考になりませんか。
73-35 To: 上野博志 さん
> 始めまして上野と言います。W98上で画面のハードコピーを印刷するスクリプトを作ろうとしていますがMSpainを終了するタイミングが判りません。今は印刷指示して1秒間WAITしてから終了させてますが、この1秒は根拠のない時間でプリンタの状態によってはデータを受け終わってないかもしれません。終了指示するタイミングを知る方法をご存知でしたらご教授下さい。
難しいと思います。
Printメソッドのようなものがある、COMコンポーネントを探して利用するという方法が
現実的かと。
73-30 To: ORCA さん
> 今回「HTML変換スクリプト」実行して、その結果表示の凄さに笑いを抑える余り窒息しそうになりました。
> 休憩時間だからって、静かなところで一人で笑ってたら変なヒトって思われちゃいますもんね。
> Replaceって凄いなって思いました。
今、2ch用語変換スクリプトなんてのが開発中だったりしなかったりします。
これは凄くない。
73-24 To: さりげなくWMI さん
> 今Default GatewayをSetGatewaysを使用して変更しようとしているのですが、
> 実行すると”種類が一致しません”というエラーになってしまいます。
> 第一パラメータには直接文字列やString型の変数や文字列配列(Array)を設定してみたのですが
> どれも上記のエラーになってしまいます。
> 第二パラメータには直接数値(1)を設定しています。
> サンプルも見つけられず往生しております。
WMIのヘルプにはリファレンスは無いんでしょうか。
今、手元にリファレンスの類が全く無いので確かめられないんですが。
すいません、ぼつぼつ回答もつけていくべきですね。
WSH自体が忘却の彼方な私。
To: jin-ren さん
私の作ったサンプルに関しては、ご自由にお使いいただいて結構ですよ。
To: まつ さん
VBS単独の機能では無理だと思います。
何らかのコンポーネントを使うか等の対処が必要です。
管理人さま初めまして、
Sleipnir unofficial user's pageを運営しているjin-renと申します。
こちらの掲示板で過去にhtaを利用してIEのお気に入りや履歴を表示するサンプル[32-27]が
あったと思うのですが、あのサンプルをSleipnirユーザー向けに改造し、
公開したいと思うのですが、許可をいただきたく書き込みさせていただきました。
# 実際に参考にさせて頂いたサンプルは別の(iepanel)だったりします :)
私の利用しているブラウザは上記のようにSleipnirなわけなのですが、
このSleipnirのユーザーの方の中には「IEのお気に入りは使えないの?」とか、
「履歴を使いたい」等の要望が結構ありまして、なにか良い方法はないかと
調べていましてこちらのサイトへと辿り付きました。
よろしくお願いいたします。
皆さん、こんにちは。
早速で恐縮なのですが、どなたかご教示お願いします。
VBSでマウスカーソルを砂時計にしたり戻したり、という事はできるのでしょうか?
なんだか初歩的な事みたいですが、よろしくお願いいたします。
to 筑集眺餅 さん
早速の御回答ありがとうございます。
>>1、Win2kのRunメソッドでショートカットファイルが実行できない
>ワテの環境(XP Pro)やとイケますわ。<なんで?
私も確認したのが自宅のPCのみなので、もしかしたら環境依存の不具合なの
かもしれないですね。
今度別のWin2KPCが弄れる状況になったら試してみます。
それまではやっぱりShell.Applicationオブジェクトの生成を試みて失敗したら
Run、成功したらShellExecuteで行くようにしておきます。
何か他にも情報がありましたら宜しくお願いします→皆様
>表題が "受信トレイ - Outlook Express" やと、
>oShell.AppActivate "Outlook Express" で見失いますワ。
>せやけど、
>oShell.AppActivate "utlook Express"
>やと、イケまんねん。<なんで?
え!そうなんですか?
早速今日にでも試してみます。(今会社なんで)
なんかバグっぽいですよね。
もしかしてウィンドウタイトルに全角文字が入っていると正常に機能しない
事があるとかなのかもしれませんね。(まあMSのやることですし)
これでうまく行くならとりあえず急場しのぎとしてこれでやってみます。
どうもありがとうございました。
To:sakuはん
>1、Win2kのRunメソッドでショートカットファイルが実行できない
ワテの環境(XP Pro)やとイケますわ。<なんで?
>2、AppActiateメソッドでブランクを含むタイトルが検索できない
試してみたんでっけど、
表題が "受信トレイ - Outlook Express" やと、
oShell.AppActivate "Outlook Express" で見失いますワ。
せやけど、
oShell.AppActivate "utlook Express"
やと、イケまんねん。<なんで?
To:ひろすけはん
>他に何か代替する手立ては、ありませんでしょうか?
ワテ、FAXおまへんよってに、特にアイディアもおまへんわ。
FAXソフトでガンバルんやったら、んー、クリップボードに
日本語入れといて、”編集”−”貼り付け”狙いやろかなぁ?
なんや、あんまりパッとしまへんな・・・。
このとこ、コンビニで安いフィギュア売っとって、結構
はまっておりま。フランダースの犬やらFFのキャラやら、
ポーズに動きがあるし、細かいとこまで綺麗に彩色されて、
まぁ、ようでけたぁる。
to 筑集眺餅 さん
アドバイスありがとうございます。
他に何か代替する手立ては、ありませんでしょうか?
ひろすけ
みなさま始めまして。
早速で恐縮なのですが、どうかご教示お願いします。
一応過去RES検索はしたのですが既出でしたらすいません。
1、Win2kのRunメソッドでショートカットファイルが実行できない
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ".\AutoExec.lnk"
こんな感じでショートカットファイルを起動したいのですが、NT4ではうまく行く
ものの、Win2Kでは何も起こりませんでした。
(エラーにはならないのに起動もしない)
もちろんショートカットファイルを直接ダブルクリックすれば起動します。
今のところWin2K用に別のスクリプトを作ってshellのShellExecuteを使っていま
すが出来ればスクリプトを統一したいのです。
2、AppActiateメソッドでブランクを含むタイトルが検索できない
OutlookExpressを起動して^MをSendKeyしようとしているのですが、
if WshShell.AppActivate("Outlook Express") then
WshShell.SendKeys "^M"
exit for
end if
などとやっても(実際にはforでループさせています)これまたWin2Kでは見つけ
てくれません。(NT4ではOKでした)
"""Outlook Express"""などとも指定してみたのですがこれでもダメです。
今のところ苦肉の策としてExpressだけで検索しているのですがこれだと誤爆の
確率が高くなりますし。
ちなみに、ショートカットで起動しているためプロセスIDは使えません。
宜しくお願いします。