VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2006/06/08(Thu) 17:34
投稿者ダンボ
Eメール
URL
タイトルRe^2: SendKeys苦戦中

YK さん、コードご提示ありがとうございます。なかなか良い結果が報告できないので心苦しいです。
まず、いただいたコードをそのまま実行すると画面には何のダイアログも出ずに、
CodeProtect関数を通過して、後段で保護エラーになります(呼出元のWith句のところで)

Private Function CodeProtect(WB As Workbook) As Boolean
    WB.VBProject.VBE.Windows(1).SetFocus
    DoEvents
    SendKeys "%(TE)"
    Application.Wait Now + TimeValue("00:00:01")
    SendKeys "****~"    '****にはパスワード
    Application.Wait Now + TimeValue("00:00:01")
    SendKeys "~"
End Function

そこで下記のように直すと、
Private Function CodeProtect(WB As Workbook) As Boolean
    On Error GoTo 0
    MsgBox "CodeProtect確認"
    WB.VBProject.VBE.Windows(1).SetFocus
    DoEvents
    Application.Wait Now + TimeValue("00:00:01")
    SendKeys "****"
    SendKeys "{ENTER}", True    'パスワード入力完了して続行
    DoEvents
    Application.Wait Now + TimeValue("00:00:01")
    MsgBox "pause"
End Function

パスワード入力ダイアログは出るようになった。が、1分以上待っても****は表示されない。
そこで手でパスワードを入力してEnterを押すと"pause"のメッセージが出て続行するのですが、
後段のどこかで、「メモリーが"read"になることはできませんでした」となりアボートします。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -