仕事を辞めたい、怠け者だからな

仕事を辞めたいとグダグダ言いながらも、やめる手順が面倒だということで結局やめない「からな」の面倒嫌いブログです。日々のことなり、色々書いていきます。自由気まま、やりたいことばかりやっちゃう。

仕事を辞めたい、
怠け者だからな

メインブログです。
ぐだぐだしつつも、
やりたいことに全力全身!

  最高の出会いを求めて
自身の最高の出会いまでの道のり、
方法を書いていきます。

  標準体重を目指して
標準体重を目指して奮闘する!
ダイエットグッズ実践含みます。

Microsoft Script Editorを起動したけど、毎回このメッセージが出てくるのは何故・・・

f:id:mochi-ha:20161122111728p:plain

これ。
VBSをデバッグしてみたいと調べ続け、
天からの声が聞こえた。

「Cドライブ上をMSE*.EXE」で検索せよ と。

検索したところ、MSE7.exeが見つかる。

デスクトップにショートカットをおき、起動しようとすると
このポップアップが出てくる。

起動まで2分以上かかった。
(その間何度もこのメッセージが出てくる)

そしてその後、デバッグするときも遅いし
何度もこのメッセージが出てくるんだけれど
私に何をして欲しいのだろうかこのメッセージは…??

f:id:mochi-ha:20161122112008p:plain

あと、これも出てくる。

「切り替え」を押しても最前面に出てくるものなんて無い。

どうすれば普通に使えるの…

【HTA】別ウィンドウを表示させる方法【VBS】

HTAとは素晴らしきかな。大体のパソコンで動作することができる。



プログレスバーとか、ボタンを配置しないのであれば
IEを使って、使いまわしてやれば良いのだけれどそういう問題ではない。 ちなみに以下。
Hey, Scripting Guy! : スクリプトの実行中に進行状況バー (またはそれに似たもの) を表示する方法はありますか

「ボタン」や「コンボボックス」「リストボックス」その他…コントロールを使いたいのだ。

その場合には、IEを使用してしまうとセキュリティのため情報バーが出てしまい
許可しないと画面を見ることができない。これは非常に面倒くさい。


ということで、色々ググって考えた挙句
以下のように落ち着いた。


Hey, Scripting Guy!: Flowers Blooming. Dialogs Popping. Spring Is Here.

Scripting Guy!さんのコメントは全て、なんだか面白い。

春が来ました。 かつてないほどの喜びです。
記録的な雨量、アイス ストーム、雪嵐、暴風雨に見舞われた冬を経て、
ついに春がやってきました (ある嵐では、大木が Scripting Guys の 1 人の裏庭に倒れ込みました。
ぎりぎりのところで家屋に被害はありませんでしたが、Scripting Dog はソファーの後ろに逃げ込みました)。
今は、ひんやりとした雨を楽しんでいます。これが過ぎると、夏の太平洋岸北西地区の温かい雨に変わります。
外の小雨を眺めているとき、スクリプトでちょっとした冒険をして、
HTML アプリケーション (HTA) を見てみるいい機会だと思いました。
冒険というからには、そのとおり本気で冒険します。ここでは初歩的な説明はしません。
読者が HTA とは何かや、HTA の作成方法を既に理解していることを前提にします。

https://technet.microsoft.com/ja-jp/magazine/cc162366.aspx

モーダルと、モードレスの違い。

ご存じかもしれませんが、ダイアログ ボックスには 2 種類あります。
モーダルとモードレスです。
違いは、モーダル ダイアログ ボックスを開くと、そのダイアログ ボックスを閉じるまで、
ダイアログ ボックスを開いたメイン ウィンドウに戻ることができません。
モードレス ダイアログ ボックスを開いた場合は、ウィンドウ間を移動できます。
ただし、メイン ウィンドウを閉じると、モードレス ダイアログ ボックスも閉じられます。

https://technet.microsoft.com/ja-jp/magazine/cc162366.aspx

わかりやすいから説明要らないと思うけど念のため。
モーダルウィンドウは、開いてしまうと前のウィンドウの動作は閉じるまでできない。
モードレスウィンドウは、前のウィンドウの動作も同時進行で可能。


相手に何かの入力を促すのであれば、モーダルウィンドウが良いと思います。

MAIN.hta

                              • -
DATA=5
TEST = ShowModalDialog("data\MODALWIN.hta",  DATA , "dialogHeight:230px;dialogWidth:230px")
Msgbox TEST
                              • -

自分のHTAファイルのあるフォルダ内にdataフォルダを作成し、
その中にMODALWIN.htaを作成したよ。

data\MODALWIN.hta

                              • -
<html> 
<head> 
<title>番号を指定してください</title> 
</head> 
<body> 
以下のボタンをクリックし、<BR>番号を指定してください。
<BR><BR>
<span id="DataArea"></span>

<script language="vbscript">
Sub Window_OnLoad
Dim ALLDATA(),DATA,i

DATA = window.dialogArguments

DQ=""""

For i=1 to DATA
	BUTTONDATA= BUTTONDATA & "<input type=" & DQ & "button" & DQ & " value="& DQ & i & DQ & " onClick=" & DQ & "ButtonAction(" & i & ")" & DQ & " style=" & DQ & "WIDTH: 40px; HEIGHT: 40px" & DQ & "/>"
	
	IF i Mod 5 = 0 then
		BUTTONDATA=BUTTONDATA & "<BR>"
	End if
Next
	DataArea.InnerHTML = BUTTONDATA
End Sub

Sub ButtonAction(DATA)
	window.returnValue = DATA
	window.close
End Sub

</script> 

</body> 
</html> 
                              • -

単純に、これ実行すると
MAIN.hta に書いてある5。
5までのボタンを作成し、押したらその数値を戻す。

たったそれだけ。

でも、情報の受け渡しができるのは良く分かるw

もっと色々HTAプログラム書いてるけど
もう少しまとまったらきっちり書こうかな。

【VBS】フォルダの存在確認

フォルダの存在

'変数を宣言
Dim FS
Dim ret

'ファイルシステムオブジェクトを生成
Set FS = CreateObject("Scripting.FileSystemObject")

'C:\vbs が存在するかを確認
ret = FS.FolderExists( "C:\vbs" )

'フォルダが存在する場合 True、存在しない場合 False が表示される。
MsgBox ret
http://vbscript.infopos.net/p/000021.html

<使う場合>

'変数を宣言
Dim FS
Dim ret

'ファイルシステムオブジェクトを生成
Set FS = CreateObject("Scripting.FileSystemObject")

'C:\vbs が存在するか判断
If   FS.FolderExists( "C:\vbs" )=True then

   '存在する場合の処理をココに書く
   Msgbox "存在します"

else
  
   '存在しない場合の処理をココに書く
   Msgbox "存在します"

end if


 Msgbox  FOLDERCHECH("C:\test\test")



Function FOLDERCHECK(FolderPath)
	Dim FS
	Dim ret

	'ファイルシステムオブジェクトを生成
	Set FS = CreateObject("Scripting.FileSystemObject")

	FOLDERCHECK=FS.FolderExists( FolderPath )'存在するかどうか判定し、呼び出したとこに戻り値を…

End Function

結構、Function使うんだよなぁ。
何回も同じプログラム遣うことあるし。便利だし。

PCMAX ハッピーメールバナー