2017-01-06 143 views
1

我試圖從特定文件夾打開一組文件。但是,當試圖打開其中一個文件時,我會看到附帶的登錄彈出窗口。 email signin打開文件時出錯

我不知道如何擺脫這一點,因爲我們不希望有人來手動撤消,另外,我也取消彈出我得到以下彈出

enter image description here

我只是單擊否/是我得到一個運行時錯誤。

但指定的文件是打開的(日常測試庫存文件)。

這裏是我的宏,我取得了迄今:

Dim MyFolder As String 
Dim MyFile As String 

Application.ScreenUpdating = False 
Application.EnableEvents = False 


MyFolder = "C:\" 
MyFile = Dir(MyFolder & "\*.xlsx") 
Do While MyFile <> "" 
    Workbooks.Open Filename:=MyFolder & "\" & MyFile 
DoEvents 
Loop 

我是一個新手,只要Excel的VBA而言。 (由於我沒有足夠的聲望,無法發佈所有圖像)

回答

1

關閉警報,以及

更好synatx以及

  • 使用一個工作簿對象來保存打開的工作簿
  • 做您的代碼
  • 關閉每個工作簿(下面的代碼不會保存)
  • 然後觸發你的下一個循環

代碼

Sub recut() 

Dim MyFolder As String 
Dim MyFile As String 
Dim Wb As Workbook 

With Application 
.ScreenUpdating = False 
.EnableEvents = False 
.DisplayAlerts = False 
End With 

MyFolder = "C:\" 
MyFile = Dir(MyFolder & "\*.xlsx") 
Do While MyFile <> "" 
    Set Wb = Workbooks.Open(MyFolder & "\" & MyFile) 
'do code 
Wb.Close False 
MyFile = Dir 
Loop 


With Application 
.ScreenUpdating = True 
.EnableEvents = True 
.DisplayAlerts = True 
End With 

End Sub 
+0

謝謝你的代碼,但我不希望打開的工作簿被關閉,因爲有進一步的行動要採取。 「窗口登錄」不會出現,但所有的工作簿也是如此。 – DeepK03

2

您沒有閱讀下一個文件名。因此循環是無限的。 請添加上述「調用DoEvents」下面一行:

MyFile = Dir() 
+0

好去處..... ++ – cyboashu

+1

謝謝你的工作,但我仍然得到彈出的登錄(1圖像) 。我怎麼能通過這個? – DeepK03

+0

登錄提示閱讀此:https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-mso_win10/sign-in-type-the-email-of-the-account-you-would/ 63532fb6-4bc9-46d5-8a79-2a3505e6e202 – cyboashu