エクセルの自動計算を止まらないようにするには?

解決


○ぞう  2004-01-20 17:34:25  No: 111457  IP: [192.*.*.*]

お世話になります。
以下のようにエクセルのセルが1になった場合、BEEPを2回鳴らして、SENDKEYSで強制的にキーを押すことによって省電力のモニタ画面を点けるようにVBで作成したのですが、VB(Ver4)ではうまく動作していたのですが、EXEファイルにした場合エクセルの自動計算が止まってしまいます。
参照のエクセルシートは常時自動計算で値を表示しています。
何か良い対策の方法がございませんでしょうか?

top:
DoEvents
Sleep 1500
KEIHO = myExcel.Worksheets(mySheetName).Range(myCellName).Value
Select Case KEIHO
Case 1
DoEvents
SendKeys "+", True
If i <= 1 Then
Beep
i = i + 1
End If
Case Else
i = 0
End Select
DoEvents
GoTo top
End Sub

編集 削除
特攻隊長まるるう  2004-01-21 09:08:13  No: 111458  IP: [192.*.*.*]

ユーザからの入力があった時の Excel の仕様じゃないかと思うんですが…
自動計算が停止して正解なのでは?

とりあえず明示的な型宣言は書いてください。特に VB から Excel の関数
使う時は多少の間違いでも実行段階までエラーが検出されなかったり
しますので。

自動計算の設定は以下のコードでできると思います。
動作確認はしてませんので充分に確認してください。
[VB6.0]
Option Explicit

    Dim myExcel    As Excel.Application

    myExcel.Calculation = Excel.XlCalculation.xlCalculationAutomatic

編集 削除
○ぞう  2004-01-21 10:55:09  No: 111459  IP: [192.*.*.*]

とりあえず、エクセルをアクティブにすることで解決できました。

編集 削除