Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11515 / 13646 ツリー ←次へ | 前へ→

【15671】BeforeClose時Application.MoveAfterRet... Red_Dom 04/7/2(金) 0:25 質問[未読]
【15672】Re:BeforeClose時Application.MoveAfterRe... Asaki 04/7/2(金) 0:42 回答[未読]
【15709】Re:BeforeClose時Application.MoveAfter... Red_Dom 04/7/3(土) 16:19 お礼[未読]

【15671】BeforeClose時Application.MoveAfterRet...
質問  Red_Dom  - 04/7/2(金) 0:25 -

引用なし
パスワード
   はじめまして。

早速ですが、どうしてもわからないところがあります。
WebサーバからDLしたExcelマクロにおいて、
Application.MoveAfterReturnDirectionが失敗します。

フォーム上のコマンドボタンを押して、マクロ処理が走り、フォームはアンロードされます。
その直後に右上×ボタンを押してExcelファイルを閉じようとすると、エラーになります。

こんな感じです。
Private Sub Workbook_BeforeClose(Cancel As Boolean)

  On Error GoTo Err_End

  ' ==== Excelの設定 ====
  With Excel.Application

    ' ==== Enterボタンを押したときのの移動方向 ====
    .MoveAfterReturn = True        'ここでErr_Endに行っちゃう
    
    ' intDefSetMove はオープン時に取得したユーザーのデフォルト設定値, -4121とか
    If IsNumeric(intDefSetMove) = True And intDefSetMove <> 0 Then
    
      .MoveAfterReturnDirection = intDefSetMove
      
    Else
    
      .MoveAfterReturnDirection = xlDown
      
    End If

Err_End:

    Err_Msg = "ユーザーのExcel 設定に戻すのに失敗しました。"


If Err.Number <> 0 Then

  MsgBox Err_Msg, vbOKOnly + vbInformation, "Excel 設定"
  Exit Sub
  
End If

End Sub


環境は、

NT6.0 SP6a
Excel97 SR-1
IE5.5

です。


イミディエイトウィンドウで?Application.MoveAfterReturnDirectionすると、
しっかり値はとれているのですが…。

また、フォームが閉じた後に、どこかをクリックしてから閉じると、うまく行きます。

さらに、Excel2000では成功するのです。

GetObjectでExcelオブジェクトを作成(再取得?)してやってみても、だめでした。
フォームが閉じた後シートをアクティブにしてやっても、だめでした。

どうにかならないものでしょうか。

よろしくお願いします。

【15672】Re:BeforeClose時Application.MoveAfter...
回答  Asaki  - 04/7/2(金) 0:42 -

引用なし
パスワード
   こんばんは。

>シートをアクティブにしてやっても、だめでした。
この後、更にセルを Select/Activate も試されましたか?

【15709】Re:BeforeClose時Application.MoveAfter...
お礼  Red_Dom  - 04/7/3(土) 16:19 -

引用なし
パスワード
   すいません。返答が遅くなりました。

>この後、更にセルを Select/Activate も試されましたか?

まさにそれだったみたいです。出来ました。
何か、フォームからそのまま帰ってくると、アプリケーションオブジェクト関連がうまく行かないみたいです。

フォームから帰ってくる際に、ブック、シート、セルをSelect/Activateしたほうが良さそうでした。

ありがとうございました。

11515 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free