アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access2000vbaで、shell関数で起動させたExcellを終了する方法を教えてください。
以下のように、shell関数で、既存のExcelファイルを起動させました。
どうすれば、Excelファイルを終了できますか?
宜しくお願いします。

Dim fl_name As String

fl_name = "C:\XE2.xls"
Shell "C:\Program Files\Microsoft Office\Office\EXCEL.EXE " & fl_name, vbNormalFocus

A 回答 (2件)

Option Compare Database


Option Explicit

Dim AppValue

Private Sub コマンド_ExcelOpen_Click()
  AppValue = Shell("・・・・")
End Sub

Private Sub コマンド_ExcelClose_Click()
  AppActivate AppValue
  Sendkeys "%{f4)", True
End Sub

※一応、Access2003でテストしてOKでした。
※Access97で経験したコードですから多分2000でもOKかと。
※仮に、ExcelがCloseしない時は、%({F}) +({X}) で試して下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。
EXCELを、無事終了できました。
目的のEXCELファイルだけを終了できたので、感動しました。

お礼日時:2006/03/05 19:08

こんばんは。



Shell であけるのに、閉めるほうが、これじゃあ、かなりヘンですが、まあ、こんな方法があるという程度にしてください。本来は、開けるほうは、CreateObejct にするなりしたほうがよいのですが。

Private Const fl_name As String = "testa.xls"

Private Sub コマンド_Click()
Dim xlApp As Object
 On Error Resume Next
 Set xlApp = GetObject(, "Excel.Application")
 If Not xlApp Is Nothing Then
  'もし保存するなら……
  If xlApp.Workbooks(fl_name).Saved = False Then
  xlApp.Workbooks(fl_name).Save
 End If
  xlApp.Quit
 End If
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!