Страницы: 1
RSS
Ошибка «Документ не сохранен». Какие возможные решения?
 
Доброго времени суток, многоуважаемые юзеры форума!

Суть темы:
В приложении файл, скачав и открыв который, вы можете кликнуть по форме с текстом «Сохранить лист как файл», а по завершению действий всех алгоритмов, module1 выдаст ошибку, которая повествует о том, что «Документ не сохранен.»

Пожалуйста, подскажите
-причину невозможности сохранения документа именно в моем случае;
-предположительное решение этой "проблемы".

Хорошего дня всем, кто уделил время на прочтение данного топика. Большое спасибо!
Код из module1
Код
Sub УдалитьМодули()
    'On Error Resume Next
    ИтоговаяКнига = Sheets(1).Name & " e-mail.xlsm"
    
    'Активируем кингу для отправки по e-mail
    Workbooks(ИтоговаяКнига).Activate
    
    'Удаляем Module и UserForm's
                    Set VBProj = ActiveWorkbook.VBProject.VBComponents
                    VBProj.Remove VBProj("ДобавитьНовогоКонтрагента")
                    VBProj.Remove VBProj("ДобавитьОснование")
                    VBProj.Remove VBProj("УдалитьОснование")
                    VBProj.Remove VBProj("УказатьОтветственного")
                    VBProj.Remove VBProj("Календарь")
                    VBProj.Remove VBProj("Module2")

            'Удаляем код из ЭтаКнига-------
            Dim oVBComponent As Object, lCountLines As Long
            Set oVBComponent = ActiveWorkbook.VBProject.VBComponents("ЭтаКнига")
            With oVBComponent
                lCountLines = .CodeModule.CountOfLines
                .CodeModule.DeleteLines 1, lCountLines
            End With
            Set oVBComponent = Nothing
            '------------------------------
     
'MsgBox "Сформирован отчет для [-  " & Sheets(1).Name & "  -]", vbOKOnly + vbInformation, ""

        Call Сохранить
                'ОтправляемФайл
                If ОтправляемФайл = True Then
                    
                    Dim FullStr As String
                
                    Смайлик = Sheets(1).Range("A7")
                
                    FullStr = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe"
                    FullStr = FullStr & " -compose to=" & Почта
                    FullStr = FullStr & " ,subject=""" & Смайлик & "Транзакционный отчет [ " & ActiveWorkbook.ActiveSheet.Name & " ]"""
                    FullStr = FullStr & " ,body="" """
                    FullStr = FullStr & " ,attachment=" & ThisWorkbook.Path & "\" & ИтоговаяКнига

                    Shell FullStr, 1

                End If
                
Windows(ИтоговаяКнига).Activate
Call Сохранить

'Закрываем Книгу
'ActiveWindow.Close
End Sub

Sub Сохранить()
ActiveWorkbook.Save
End Sub

p.s. гуглил, но не нашел подходящей информации, поэтому обращаюсь к Вам, уважаемые!
Улыбнись.
 
Зачем эти танцы с удалением объектов Vb Project?
Сохраняйте лист в формате без поддержки макросов
Код
    ИтоговаяКнига = Sheets(1).Name & " e-mail.xlsx"
    
    Worksheets("ОАО ХЛЕБ").Copy
    ActiveWorkbook.SaveAs Filename:= _
        "D:\DOWNLOAD\+ Отчеты для отправки по E-MAIL\" & ИтоговаяКнига, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
Согласие есть продукт при полном непротивлении сторон
 
Спасибо! А мне и в голову не пришло пересохранить в xlsx. Очень благодарен Вам за столь простое и быстрое решение.
Улыбнись.
Страницы: 1
Наверх