先日、以下の方法で取得可能と書きました。
’clipboard操作用objectを作成
Set objHTML = CreateObject("htmlfile")
'clipboardの内容を取得する
strTEXT = objHTML.ParentWindow.clipboardData.GetData("text")
先日、以下の方法で取得可能と書きました。
’clipboard操作用objectを作成
Set objHTML = CreateObject("htmlfile")
'clipboardの内容を取得する
strTEXT = objHTML.ParentWindow.clipboardData.GetData("text")
VBAだと
Set objIE =
CreateObject("InternetExplorer.Application")
objIE.Visible = True
で最前面に表示されるのですけど、VBSだとなぜか背面に表示されます。
APIの「SetForegroundWindow」が使えそうなのですが、VBSで使える?
trickyではありますが、Excel4.0からcallすると使えるようです。
'windowをactiveにする(APIを使う)
With CreateObject("Excel.Application")
Call .ExecuteExcel4Macro("CALL(""user32"",
""SetForegroundWindow"", ""JJ"", "
& objIE.hWnd & ")")
End With
戻り値はtrue/falseのようですけど、”JJ”を”LJ”にするとerrorになります。
変数=戻り値、にしてもerrorになる?
ですが、windowが前面に出てきません。
調べていくと「SetForegroundWindowはWindows95、およびWindows98では正常に機能しますが、Windows2000、WindowsXPにおいてはタスクバーで点滅し、ウィンドウが隠れてしまいます。」とな。orz
では、「SetWindowPos」ではどうでしょう。
'windowをactiveにする(APIを使う)
With CreateObject("Excel.Application")
Call .ExecuteExcel4Macro("CALL(""user32"",""SetWindowPos"",""JJJJJJJJ""," & objIE.hWnd & ",0,0,0,0,0,3)")
End With
'windowをactiveにする(APIを使う)
With CreateObject("Excel.Application")
Call .ExecuteExcel4Macro("CALL(""user32"",""SetWindowPos"",""JJJJJJJJ""," & objIE.hWnd & ",-1,0,0,0,0,3)")
Call .ExecuteExcel4Macro("CALL(""user32"",""SetWindowPos"",""JJJJJJJJ""," & objIE.hWnd & ",-2,0,0,0,0,3)")
End With
editorの関係で、VBAで作ってVBSに移植を行っています。
clipbosrd操作もVBAとVBSで違いがあるようです。
HTMLfile objectを使用します。
'clipboard操作用
Set objHTML = CreateObject("htmlfile")
clipbordのtext取得はVBAとVBSで同じ方法で行けそう。
'clipboardの内容を取得する
strTEXT = objHTML.ParentWindow.clipboardData.GetData("text")
clipboardへの書き込みが問題です。
'Clip BoardにSetする VBAはこちら
objHTML.ParentWindow.clipboardData.setData "Text", strTEXT
'Clip BoardにSetする VBSはこちら
cmd = "cmd /c ""echo " & strTEXT & "|
clip"""
CreateObject("WScript.Shell").Run cmd, 0
VBA用はVBSではうまく動かず、VBS用はVBAではうまく動かず、良く分かりません。
VBS用は注意点がいくつかあります。
最後に改行codeが入る改行codeをなくすには無理やりですが以下のようにしました。
'Clip BoardにSetする VBSはこちらいずれにせよ制約が多そうなので、careしながら使うことにします。
このtopicsと全然関係ないですが、今回VBAで他に嵌ったのは、
val関数が使えない。
これは\と,を””に置換したらstringのまま計算できた。
err objectがglobal変数だと思っていたらlocal変数だった
private subに入ったら別の中身になっていました.
VBAでも同じかな。documentを読むとglobalみたいなのですけど。
少なくともclipbord操作くらいはVBSの標準機能にしてほしいですね。
2021年8月6日の未明から、突然、@aol.jpのmailが取得できなくなりました。
androidからIMAPで取得していたもの、POPで取得していたもの、windowsからPOPで取得していたもの、すべてダメです。
mail serverの不調なのかと思い1日待っても、ずっとerrorのまま。
netで調べてみるとOUTLOOKで2月に同じ症状が発生しているようです。
これとか:突然outlookでaolが使用できない - Microsoft コミュニティ
AOLにloginするpasswordではダメで、IMAP/POP用のpasswordを取得してそれを用いるようになったのですね。
以下が対応方法です。
まず、次のURLにaccessします。https://login.aol.com/account/security
で以て、一番下の「アプリパスワードの管理」をクリックします。
ここで、アプリの選択の目的がよく分からないのですが、私は、「androidのメール」と「その他のアプリ」で「Windows Mail」としての2つのpasswordを生成しました。
(accessしているdevice or softwareを認識して、個別にpasswordが必要なのか?)
それらをcopyして、使っていたmail softwareの受信や送信のpasswordとして再入力したらmailが取得できるようになりました。
参考はこれとか:AOLメールをアプリで送受信するためのパスワード設定
ホッとしましたが、上のURLの情報で「2021年6月には新しく設定することはできなくなる予定とのこと」とあり(今回過ぎているのに大丈夫でしたけど)、いつまで使えるのか心配です。