Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Сохранение формы без макросов с именем из нескольких ячеек

Автор Crysi, 27.02.2018, 17:58

« назад - далее »

Crysi

Добрый день, форумчане.

Прошу помощи знатоков. Есть необходимость сохранять заполненную таблицу с именем из ячеек, и при всем при этом чтоб таблица была без макросов и весила минимально. С созданием имени из ячеек вроде разобрался и допилил один макрос (найден на просторах интернета), но при открытии сохраненного файла выскакивает ошибка "The file format and extension of "имя файла" don't match. The file could be corrupted or unsafe. Unless you trust its source, don't open it." и созданая кнопка (можно увидеть в прикрепленном примере) тоже отображается в вновь созданом файле.
Прошу помощи допилить макрос либо возможно есть альтернатива - подсказать ее и помочь разобраться как оно работает, т.е. дать расшифровку действий в макросе, если это не задрунит конечно же.
С VBA только начинаю знакомиться, опыта в программровании нет, так что читаю форумы, паралельно смотрю ролики основ.

Заранее спасибо.

Crysi

Еще раз добрый вечер, вроде бы как разобрался, как удалять не нужные кнопки и очищать от формул, если что не правильно, пожалуйста подскажите как улучшить.

"ActiveSheet.Shapes("Button X").Delete" где Х это номер нашей конкретной кнопки, его можно посмотреть при выделении кнопки в левом верхнем углу.
 
"ActiveWorkbook.SaveAs Filename, xlWorkbookNormal" сохраняем файл под заданным именем в формате Excel 2003

"ActiveWorkbook.Selection.SpecialCells(xlFormulas).ClearContents" эта часть кода удаляет все формулы из книги, если это необходимо.
       

boa

Здравствуйте, Crysi,

Цитата: Crysi от 27.02.2018, 17:58
"The file format and extension of "имя файла" don't match. The file could be corrupted or unsafe. Unless you trust its source, don't open it."
так как вы при сохранении файла не указали явный формат файла, могу догадываться, что это "xlExcel8, 56, Excel 97-2003 Workbook, * .xls".
ActiveWorkbook.SaveAs NewFileName
NewFileExt = ".xls"
Excel сохранил файл в формате, установленном по умолчанию в настройках Приложения, не зависимо от расширения(указанного в имени) сохраняемого файла.
Укажите Приложению явно, что и как сохранять, и у Приложения не будет вопросов к открываемым файлам
      ActiveWorkbook.SaveAs Filename:=NewFileName, FileFormat:=56
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра