#excel #vba
#excel #vba
Вопрос:
У меня есть файл, встроенный в рабочую книгу, поскольку мне нужно, чтобы все пользователи имели к нему доступ, чего может не произойти, если он находится в сети. У меня есть этот код для извлечения его из Excel на временный диск пользователя.
Когда я просматриваю код, он работает нормально, но вылетает при выполнении.
Private Function DownloadOutlookFile()
Dim oEmbFile As Object
Dim x As String: x = ThisWorkbook.Name
Application.DisplayAlerts = False
Set oEmbFile = ThisWorkbook.Sheets(SO_File.Name).OLEObjects(1)
oEmbFile.Verb Verb:=xlPrimary
Workbooks("Worksheet in " amp; x).SaveAs FileName:="C:TempSupression.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
Workbooks("Worksheet in " amp; x).Close
End Function
РЕДАКТИРОВАТЬ: Удален код ожидания, поскольку он не помогает и был только тестированием.
Комментарии:
1. Джоэл, если тебе нужно время ожидания вместо режима ожидания, попробуй
Application.Wait Now TimeValue("00:00:02")
(две секунды просто для примера). Кроме того, возможно, используяApplication.ScreenUpdating = False
thenTrue
— до и после вашегоSaveAs
метода, соответственно. Дайте мне знать! Дэнни.2. Переход в спящий режим был просто частью моего кода, чтобы посмотреть, поможет ли выполнение перерывов коду, который не помог. Обновление экрана тоже не помогло, спасибо, я еще не пробовал это как часть процесса upstream.
3. В какой строке происходит сбой? Что это за сообщение об ошибке. Вы должны помочь нам, чтобы мы могли помочь вам.
4. Ошибки нет, Excel просто вылетает. Из того, что я вижу, происходит сбой в части сохранения, поскольку ей удается открыть файл.