john22255
Пользователь
Сообщений: 225
Регистрация: 31.10.2013
Доброго дня!
Нашел на просторах вот такой код:
Код |
---|
Sub SaveAsPDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:Book1Test.pdf", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False End Sub |
Прекрасно работает. Но вот хотелось бы, чтобы он присваивал имя файлу, например беря его из ячейки или там из переменной. Не важно.
Вот делаю так:
Код |
---|
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:Documents and Settings2017KU_",@ k @, "_.pdf", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False |
Не работает. Подсвечивает строчку с Filename. Пишет syntax error.
Прошу подсказки, как грамматически правильно передать создающемуся пдф файлу, строку из переменной k, для включения в имя этого файла?
Ну т.е. если k пробегает несколько значений (кирилиц1, кирилиц2, кирилиц3) , то имена файлов могли бы быть как KU_кирилиц1_.pdf, KU_кирилиц2_.pdf, KU_кирилиц3_.pdf,
Спасибо.
Изменено: john22255 — 01.08.2017 10:57:24
Статья предназначена для людей, которые хотят научиться писать программы на встроенном в Excel Visual Basic (VBA), но абсолютно не знают что это такое.
Для начала — несколько слов о том, зачем это нужно. Средство VBA в MS Excel, представляет нам универсальный инструмент для быстрого и точного решения любых индивидуальных пользовательских задач в MS Excel. Можно конечно использовать и встроенные в MS Excel функции которых великое множество, однако они далеко не всегда решают поставленную задачу.
Итак, создадим для примера простейшую программу. Будем использовать MS Excel 2007. Откройте MS Excel, нажмите «сохранить как» и сохраните файл Вашей программы нажав «Книга ексель с поддержкой макросов».
Далее необходимо включить вкладку «Разработчик». Для этого нажимаем «Параметры Excel»
Ставим галочку на «Показывать вкладку «Разработчик» на ленте»
После этого на ленте, в верху листа Excel, появится вкладка «Разработчик», которая содержит в себе инструменты для создания VBA макросов.
Представим себе небольшую задачу — допустим мы имеем 2 числа, нам необходимо их сложить и по полученной сумме получить значение из нашей таблицы.
Поставим в ячейки Листа1 следующие значения:
на Листе2 заполним ячейки, создав таблицу из 2 столбцов
Далее перейдем на Лист1, нажмем на вкладку «Разработчик», «Вставить», на ней выберем кнопку
и нарисуем кнопку на Листе1, после чего сразу появится окно «Назначить макрос объекту», в котором выбираем «Создать»
После этого откроется редактор Visual Basic, и автоматически напишется наименование процедуры, которая будет выполняться при нажатии кнопки. Под названием процедуры впишем следующий код:
Код выполнит следующие действия:
- MsgBox («Это мой первый Макрос!») — сообщение
- Переменной q присваивается значение ячейки на Листе1, с координатами 2 строка, 2 столбец
- Переменной w присваивается значение ячейки на Листе1, с координатами 3 строка, 2 столбец
- В ячейку на Листе1, с координатами 4 строка, 2 столбец, записывается сумма q+w
Далее получим значение столбца В из Листа2, которое расположено на той же строке где значение нашей суммы совпадает с значением столбца А.
Введем следующий код:
и получим при нажатии на кнопку следующий результат:
из результата видно что макрос подобрал число из таблицы на Листе2 в соответствии с нашей суммой.
Не буду вдаваться в подробности этого хитрого кода, так как цель данной статьи — начать писать макросы. Для VBA в интернете есть масса ресурсов, с примерами и разъяснениями, хотя для автоматизации расчетов вполне хватит объема информации в справке.
Таким образом с помощью VBA возможно автоматизировать расчет любой сложности и последовательности. Справочные таблицы можно копировать из различной литературы на отдельные листы Excel и писать последовательный расчет с кнопками.
Автор: Ричард Шеферд
Название: Создание макросов для Microsoft Excel
Издательство: НТ Пресс
Год: 2007
Формат: PDF, DjVu
Размер: 36,3 Мб
Иногда при работе в Microsoft Excel перед пользователем встает задача, выполнение которой либо невозможно, либо затруднено большим количеством операций, которые надо выполнить через меню и панели инструментов. Однако программисты, создававшие Excel, позаботились, чтобы можно было решить любую задачу с помощью Excel. Для решения таких задач Excel включает в свой состав специальное средство, позволяющее создавать свои макросы — небольшие программы, реализующие самые разнообразные функции, которые могут вам потребоваться при работе с таблицами. Имя ему — Visual Basic for Applications, чему и посвящена эта книга.
Начав с основ VBA, вы познакомитесь с принципами автоматизации большинства выполняемых в Excel задач, а также с созданием надстроек, применением Windows API, профессиональными приемами отладки и обработки ошибок, методами получения данных из внешних источников, таких как различные базы данных, и программным управлением другими приложениями Office.
Прочитав книгу, читатель получит знания, необходимые для автоматизации выполнения повседневных задач и создания собственных решений в Excel с помощью VBA.
В новом издании бестселлера Джона Уокенбаха, посвященном программе Microsoft Office Excel 2007, вы найдете исчерпывающее изложение приемов и методов программирования на языке Visual Basic for Applications (VBA).
Помимо полного описания конструкций VBA и общих правил разработки приложений, вас ожидает знакомство с новыми возможностями Excel 2007, а также рассмотрение реализации этих возможностей средствами VBA.
Особое внимание уделено таким вопросам, как создание диаграмм и пользовательских форм UserForm, обработка событий и взаимодействие с другими приложениями — опять же с помощью VBA.
Многочисленные примеры, приведенные в книге и содержащиеся на прилагаемом компакт-диске, наглядно демонстрируют выполняемые действия и помогут лучше усвоить рассматриваемый материал.
Качество:
отличное (на английском языке)