[[20070708082707]] 『元に戻すマクロ』(チャリ子) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『元に戻すマクロ』(チャリ子)
 どうかよろしくお願いいたします。
 自動マクロ作成で、名簿を並べ替えるマクロを作成しましたが、
 これを元に戻すマクロは作成できませんでした。
 元の名簿がランダムに並んでいる為別の項目で並べなおす事は難しいです。
 調べたところ、マクロの冒頭にActiveWorkbook.Saveを入れるとありましたので
 並べ替えるマクロの冒頭に入れ、
 そして、次にマクロ終了後
 Sub 元に戻す()
    Dim CurName As String
    CurName = ActiveWorkbook.Fullname
    ActiveWorkbook.Close Savechanges:=False
    Workbooks.Open CurName
   End Sub

 を入れるとありましたので、これを次に作成した元に戻すマクロに
 入れてみましたが、実行したところ画面が真っ黒に消えてしまいます。
 どのようにしたらこのマクロはできますか?
 どなたか教えてください。


 >ActiveWorkbook.Close Savechanges:=False
 これで自分自身をクローズしているからでは?
 作業用シートを作っておいて、そこにコピーを保管しておくとか。
 元に戻すようの番号を振っておく、というのも。
 (MARBIN)


 自ブックを再起動するには、VBSを利用する方法があります。

 エクセル側

 Sub hoge()
 Dim f As String
  ThisWorkbook.Saved = True
  f = "C:\Documents and Settings\marbin\デスクトップ\aa.vbs"
  CreateObject("Shell.Application").ShellExecute f
 End Sub

 VBS側

 On Error Resume Next
 Set xlObj = GetObject(,"Excel.Application")
 If xlObj Is Nothing Then
   MsgBox "Excelが起動していません。"
 Else
  For Each wb In xlObj.Workbooks
   If wb.Saved = True And wb.name = "test.xls" Then
      Wb.Close
   End If
  Next
  xlObj.Workbooks.Open ("C:\Documents and Settings\marbin\デスクトップ\test.xls")
 End If
 (MARBIN)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.