2017-08-28 4 views
1

VBSから、すでに開いているExcelワークブックでマクロ「Inc」を実行しています。マクロが実行されています(これはワークブックを再オープンした後に更新されたセルの値を確認した後に確認されます)。私のコードで変更が必要なことを教えてください。vbsを使用してマクロを実行すると、Excelが応答しなくなる

マクロコード:

Sub Inc() 

    Dim bs As Worksheet 

    Set bs = Workbooks("Main.xlsm").Sheets("TimeStampWork") 
    bs.Range("K11").Value = bs.Range("K11").Value + 1 
    bs.Range("L11").Value = Now 
    bs.Range("L11").NumberFormat = "dd-mm-yyyy, hh:mm:ss" 

End Sub 

VBSコード:

Option Explicit 
Dim xlApp, xlBook 

Set xlBook = GetObject("E:\Main.xlsm") 
Set xlApp = xlBook.Application 
xlApp.Visible = True 
xlApp.Run "Inc" 
xlBook.Save 

Set xlBook = Nothing 
Set xlApp = Nothing 

更新: 代わりにマクロの「株式会社は、」私はただ単純なメッセージボックスでマクロを実行しようとした、それが動作します問題なし。私はExcelで問題を見ることはできません。

答えて

0

この問題は解決されました。問題を解決したscreenupdateオプションでマクロを変更しました

Sub Inc() 
Application.ScreenUpdating = False 
Dim bs As Worksheet 

Set bs = Workbooks("Main.xlsm").Sheets("TimeStampWork") 
    bs.Range("K11").Value = bs.Range("K11").Value + 1 
      bs.Range("L11").Value = Now 
       bs.Range("L11").NumberFormat = "dd-mm-yyyy, hh:mm:ss" 

Application.ScreenUpdating = True 
End Sub 
関連する問題