Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 След.
как убрать надпись при открытии файла " формат файла не соответствует разрешению файла"
 
Тоже так пробовал делать с тем же результатом.
Но тем не менее...
как убрать надпись при открытии файла " формат файла не соответствует разрешению файла"
 
В том-то и дело, что аварийного закрытия не было.
Это вторая версия файла сделанная заново, потому что с первой было тоже самое.
Поэтому момент закрытия контролировал.
Файл создан из копии другого файла, который открывается в обоих версиях Excel.
как убрать надпись при открытии файла " формат файла не соответствует разрешению файла"
 
Здравствуйте.
В продолжение данной темы.
Есть файл "Стационарная экстракция.xls" созданный в Excel 2010 (файл прилагаю).
При попытке открыть его в Excel 2016 программа выдаёт сообщение "формат файла не соответствует разрешению файла...".
Расширение этого файла не переименовывалось. Файл не заблокирован при просмотре его свойств.
При использовании стандартного средства восстановления он открывается, но не содержит ни какой информации.
Вес файла 0 байт.
Подскажите, пожалуйста, в чём может быть причина этой проблемы.
___________
Спасибо.
Причина разрушительного сбоя (Automation error)
 
Этим файлом и не пользуются уже.
Но по его образцу будут создаваться другие, более сложные и ответственные. И проблема может повториться.
Поэтому хотелось бы найти причину. Есть подозрение, что она именно в коде, потому что при запуске файла запускается VBE.
Причина разрушительного сбоя (Automation error)
 
Вот и хотелось причину выяснить.
А то получится, что вместе с листами и модулями и проблема в новый файл перейдет...
Может имена объектов в объектной модели Excel 2016 и 2010 отличаются или имеет значение наличие лиц. ?
Причина разрушительного сбоя (Automation error)
 
Здравствуйте.
Ранее в одной из тем обсуждал причину появления ложных книг в объектной структуре файла.
Выяснилось, что это должно быть связано с ошибкой "Automation error.Разрушительноый сбой" возникающей при его запуске.
Но причину возникновения самой этой ошибки рекомендовали рассмотреть в отдельной теме.
Поэтому прошу помощи в разборе данной проблемы. В чем её причина?
Суть проблемы такова: книга (см. вложенный файл) была создана в Excel 2016, но пару раз запускалась через Excel 2010 (не лиц.).
При запуске возникало сообщение "Automation error. Разрушительный сбой", открывался файл и редактор VBA.
Если ни чего не сохранять и не менять то и пользоваться файлом было нельзя.
Чтобы можно было пользоваться, выделял весь код в том модуле, который открылся автоматически при запуске, комментировал его и сохранял.
После этого сохранял сам файл. При этом команда СОХРАНИТЬ работала, как СОХРАНИТЬ КАК. Файл соответственно сохранял с заменой существующего.
После этого можно было снова пользоваться полученным файлом на Excel 2010 (не лиц.)
После использования этого файла на Excel 2016 история повторялась.
В редакторе vba файл excel содержит несуществующие листы (или книги)
 
Сообщение: "невозможно создать копию листа содержащего таблицу"...
В редакторе vba файл excel содержит несуществующие листы (или книги)
 
Не подскажите, если знаете, есть ли подходящая по смыслу, чтобы новую не создавать?
В редакторе vba файл excel содержит несуществующие листы (или книги)
 
Процедуры Workbook_Open всех фальшивых книг пустые. Кодов срабатывающих на события нет.
Условное форматирование добавлялось в последней версии файла, уже после того как обнаружилась проблема с "Разрушительным сбоем"...
В редакторе vba файл excel содержит несуществующие листы (или книги)
 
Вообще данная книга была создана в Excel 2016, но несколько раз запускался через Excel 2010.
Тогда возникал "Automation error. Разрушительный сбой". Может быть это как-то связано...

Если закомментировать весь код, а потом сохранить файл, то Excel запрашивает разрешение на замену данного файла и сохраняет его.
В редакторе vba файл excel содержит несуществующие листы (или книги)
 
А если переносить из него всю информацию и пользовательские процедуры (функции) в новый файл в нем уже сбой не повторится? Или это все - как получится?
Необходимо ли объявлять переменную счетчика для цикла For
 
Это точно... )
В редакторе vba файл excel содержит несуществующие листы (или книги)
 
Приветствую.
Есть некоторая неясность со структурой файла рабочей книги excel.
В редакторе vba файл содержит несуществующие листы (или книги, если я вообще правильно это называю).
Так, например, в структуре проекта (см. картинку во вложенном файле) есть Лист1, но по свойству это не лист, а книга.
Кроме того "ЭтаКнига" представлена в трех экземплярах.
Как это объяснить и можно ли избавиться? В других файлах такого не встречал...
Необходимо ли объявлять переменную счетчика для цикла For
 
Всё прояснилось.
Большое спасибо!
Необходимо ли объявлять переменную счетчика для цикла For
 
А правильно понимаю, что Option Explicit действует глобально для соответствующего модуля, в котором указано?
Необходимо ли объявлять переменную счетчика для цикла For
 
Проблем с возвратом не правильных данных, как понимаю, можно избежать просто используя разные счетчики для разных циклов.
Но нужно ли всё-таки обнулять их значения до или после соответствующих циклов?
Необходимо ли объявлять переменную счетчика для цикла For
 
Приветствую.
Вопрос, кажется, простой, но ответа на него не нашел.
Циклы типа For содержат переменную-счетчик. Очень часто в кодах её обозначают просто i.
Но при этом её не объявляют через процедуру Dim. Возникает несколько близких вопросов:
Нужно ли вообще её объявлять (или почему не нужно)?
Какого она должна быть типа (если должна)?
Если в коде используется несколько циклов не возникает ли ошибок связанных с возвратом не правильных данных?
Нет ли необходимости очищать (обнулять) значения счётчиков используемых в коде?
Разъясните, пожалуйста.
Создание нескольких книг по списку заданных адресов шаблонов
 
... Но есть другая проблема: строка Worksheets("ФайлыПроекта").Cells(usRow5, 5) извлекает путь к файлу шаблона, который прописан в соответствующей ячейке и передает его в переменную usTemplatePath Если ячейка пустая, то книга не должна была бы создаваться, но она создается. Просто по шаблону используемому Exel по умолчанию. Как сделать что бы книга не создавалась в этом случае?
Создание нескольких книг по списку заданных адресов шаблонов
 
Проблема решилась: через переменную можно передавать числовой код формата файла.
Создание нескольких книг по списку заданных адресов шаблонов
 
Другой немного вопрос...
Если создавать такие книги, также по списку но с сохранением в папки определенные в другом списке, каким должен быть код?
Сейчас у меня в коде есть такая структура:
Код
...
usRow4 = Worksheets("ФайлыПроекта").Cells(Rows.Count, 5).End(xlUp).Row
For usRow5 = 2 To usRow4
    If Not IsEmpty(Worksheets("ФайлыПроекта").Cells(usRow5, 5)) Then
        usTemplatePath = Worksheets("ФайлыПроекта").Range("E" & usRow5)
        usTemplateName = Worksheets("ФайлыПроекта").Range("A" & usRow5)
        usFileExtension = Worksheets("ФайлыПроекта").Range("H" & usRow5)
        usFileFormat = Worksheets("ФайлыПроекта").Range("I" & usRow5)
        usWorkFolder = Worksheets("ФайлыПроекта").Range("J" & usRow5)
        usWorkFolderPath = usProjectPath & "\" & usWorkFolder
        usFileName = usTemplateName & "_" & usProjectAbbrev & "." & usFileExtension
        usFilePath = usWorkFolderPath & "\" & usFileName
        Workbooks.Add Template:=usTemplatePath
        Application.WindowState = xlMinimized
        ChDir usWorkFolderPath
        ActiveWorkbook.SaveAs Filename:=usFilePath, FileFormat:=usFileFormat, CreateBackup:=False
        Workbooks(usFileName).Close True
    End If
Next
...
Код должен брать содержимое различных ячеек таблицы, формировать из них пути к файлам шаблонов и конечным файлам и соответственно сохранять их.
Но он спотыкается на строке ActiveWorkbook.SaveAs Filename:=usFilePath, FileFormat:=usFileFormat, CreateBackup:=False Пишет что метод SaveAs для обхекта Workbook завершен не правильно. Не понятно в чем может быть дело. Потому, что в других случаях он работает. Возможно задавать FileFormat через переменную недопустимо... Подскажите, пожалуйста.
Создание нескольких книг по списку заданных адресов шаблонов
 
Спасибо большое.
Оба варианта работают!
Создание нескольких книг по списку заданных адресов шаблонов
 
Вот пример:
Создание нескольких книг по списку заданных адресов шаблонов
 
Доброго времени.
Вот этот код, по идее, должен создавать набор книг по списку соответствующих шаблонов:
Код
Public Sub test()
Dim usRow1, usRow2 As Long
Dim usTemplatePath As String
usRow1 = Worksheets("ЛИСТ1").Cells(Rows.Count, 1).End(xlUp).Row
For usRow2 = 2 To usRow1
    If Not IsEmpty(Worksheets("ЛИСТ1").Cells(usRow2, 1)) Then
        usTemplatePath = Worksheets("ЛИСТ1").Range("A" & usRow2)
        If (usTemplatePath) <> "" Then
            Workbooks.Add Template:=usTemplatePath
        End If        
'        Application.WindowState = xlMinimized
    End If
Next
End Sub
Но вместо этого он создает только одну, первую книгу из списка, а дальше ругается subscribe out of range
Подскажите, пожалуйста, как исправить.
Аналогичная структура для создания набора папок при этом работает, как надо...
Копирование данных из одной книги в другую макросом
 
Перепилил код вот до такого состояния, спасибо Sanja:
Код
Public Sub usCreateProject()
Dim i As Long
Dim usProjectPath, usProjectAdminFolder, usProjectAdminPath, usMainTemplatePath, usTemplateFileName, usProjectAbbrev, usProjectFilePath, usProjectFileName As String
i = ActiveCell.Row
If Len(Worksheets("СписокПроектов").Range("K" & i)) = 0 Then
    Msg = "Путь к папке проекта не задан"
    MsgBox Msg, , "Ошибка адресации"
    Exit Sub
    Else
    usProjectPath = Worksheets("СписокПроектов").Range("K" & i)
    usProjectAdminFolder = Worksheets("ОсновнаяСтруктура").Range("C6")
    usProjectAdminPath = usProjectPath & "\" & usProjectAdminFolder
    usProjectAbbrev = Worksheets("СписокПроектов").Range("F" & i)
    usMainTemplatePath = Worksheets("ОсновнаяСтруктура").Range("C17")
    usTemplateFileName = Left(Worksheets("ОсновнаяСтруктура").Range("C16"), Len(Worksheets("ОсновнаяСтруктура").Range("C16")) - 5)
    If Dir(usProjectPath, vbDirectory) <> "" Then
        Msg = "Проект уже существует"
        MsgBox Msg, , "Ошибка выбора"
        Exit Sub
        Else
        MkDir usProjectPath
        MkDir usProjectAdminPath
        Sheets("СписокПроектов").Calculate
        If IsEmpty(usMainTemplatePath) Then
            Msg = "Путь к шаблону не задан"
            MsgBox Msg, , "Ошибка адресации"
            Exit Sub
            Else
            Workbooks.Add Template:=usMainTemplatePath
            Application.WindowState = xlMinimized
            If Err.Number = 1004 Then
                Msg = "По указанному пути шаблон не найден"
                MsgBox Msg, , "Ошибка адресации"
                Err.Clear
                Exit Sub
            End If
        End If
        ChDir usProjectAdminPath
        usProjectFileName = usTemplateFileName & "_" & usProjectAbbrev & ".xlsm"
        usProjectFilePath = usProjectAdminPath & "\" & usProjectFileName
        ActiveWorkbook.SaveAs Filename:=usProjectFilePath, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
        Set usBook1 = Workbooks("ВсеПроекты.xlsm").Worksheets("СписокПроектов")
        Set usBook2 = Workbooks(usProjectFileName).Worksheets("ЗаданиеНаПроект")
        With usBook1
            .Range("B" & i).Copy: usBook2.Range("B1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            .Range("C" & i).Copy: usBook2.Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            .Range("E" & i).Copy: usBook2.Range("B5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            .Range("F" & i).Copy: usBook2.Range("B6").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            .Range("H" & i).Copy: usBook2.Range("B3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            .Range("J" & i).Copy: usBook2.Range("B4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            Application.CutCopyMode = False
        End With
        Workbooks(usProjectFileName).Save
        Workbooks(usProjectFileName).Close True
    End If
End If
End Sub
Но осталась дна проблема: начальная ячейка С & i и конечная ячейка B2 должны соответчственно содержать дату.
А в адекватном формате вставить её не получается. В ячейку переносится только число в формате 12345.
Как перенести дату в нужном формате dd.mm.yyyy?
Копирование данных из одной книги в другую макросом
 
... без изменений((((
эффект остался прежним почему-то
а Set в данном случае вещь обязательная?
Копирование данных из одной книги в другую макросом
 
Вот в таком виде это должно работать... (см. архив)
Копирование данных из одной книги в другую макросом
 
Вот файл:
Копирование данных из одной книги в другую макросом
 
Доброго дня...
Подскажите, пожалуйста, что не так в коде, а точнее в процедуре переноса данных?
Вот фрагмент, который, по идее, должен копировать значения из заданных в нем самом столбцов выбранного ряда и вставлять их в заданные ячейки другой книги.
Во-первых, он то работает, то нет - не знаю от чего это зависит, а, во-вторых, он слишком громоздкий получился. Можно ли упростить, как-то всю эту зелень?
Код
        Workbooks("ВсеПроекты.xlsm").Activate
        Workbooks("ВсеПроекты.xlsm").Worksheets("СписокПроектов").Range("B" & i).Copy
        Workbooks(usProjectFileName).Activate
        ActiveWorkbook.Worksheets("ЗаданиеНаПроект").Range("B1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=Fals
'        Workbooks("ВсеПроекты.xlsm").Activate
'        Workbooks("ВсеПроекты.xlsm").Worksheets("СписокПроектов").Range("C" & i).Copy
'        Workbooks(usProjectFileName).Activate
'        ActiveWorkbook.Worksheets("ЗаданиеНаПроект").Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=Fals
'        Workbooks("ВсеПроекты.xlsm").Activate
'        Workbooks("ВсеПроекты.xlsm").Worksheets("СписокПроектов").Range("E" & i).Copy
'        Workbooks(usProjectFileName).Activate
'        ActiveWorkbook.Worksheets("ЗаданиеНаПроект").Range("B3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=Fals
'        Workbooks("ВсеПроекты.xlsm").Activate
'        Workbooks("ВсеПроекты.xlsm").Worksheets("СписокПроектов").Range("F" & i).Copy
'        Workbooks(usProjectFileName).Activate
'        ActiveWorkbook.Worksheets("ЗаданиеНаПроект").Range("B4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=Fals
'        Workbooks("ВсеПроекты.xlsm").Activate
'        Workbooks("ВсеПроекты.xlsm").Worksheets("СписокПроектов").Range("H" & i).Copy
'        Workbooks(usProjectFileName).Activate
'        ActiveWorkbook.Worksheets("ЗаданиеНаПроект").Range("B5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=Fals
'        Workbooks("ВсеПроекты.xlsm").Activate
'        Workbooks("ВсеПроекты.xlsm").Worksheets("СписокПроектов").Range("J" & i).Copy
'        Workbooks(usProjectFileName).Activate
'        ActiveWorkbook.Worksheets("ЗаданиеНаПроект").Range("B6").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        ActiveWorkbook.Save
Создание книги (xlsm) по шаблону (xltm) с помощью VBA
 
А за что отвечает
Код
CreateBackup:=False
Создание книги (xlsm) по шаблону (xltm) с помощью VBA
 
Имеете в виду
Код
FileFormat:=xlOpenXMLWorkbookMacroEnabled
Страницы: 1 2 3 След.
Наверх