Выбор размера бумаги (НЕ РАЗМЕРЫ ПО УМОЛЧАНИЮ) в excel vba
У меня есть принтер этикеток Brother QL-720NW, на котором я хочу напечатать несколько этикеток.
В принтере есть рулон шириной 62мм.
Когда я пытаюсь что-то напечатать на нем, мне нужно настроить страницу и определить размер страницы. Если размер страницы неправильный (ширина более 62 мм), принтер ничего не печатает.
Теперь моя проблема в том, что я использую Excel с макросами для отправки некоторых данных на принтер. Я знаю, что есть несколько предопределенных размеров страниц (http://msdn.microsoft.com/en-us/library/office/ff834612%28v=office.15%29.aspx), который можно использовать, но в моем случае все они слишком велики для с этой целью.
Вот пример кода, который у меня есть:
Теперь у меня 3 вопроса:
2: Как установить размер бумаги примерно 62 мм x 50 мм?
3: Даже когда я определяю область печати как Range («Img»), он все равно печатает весь лист.
Кстати, я новичок в vba, это моя первая попытка использовать vba.
2 ответа
Вопрос 1
Вопрос 2
В Excel нет возможности создавать нестандартные размеры бумаги, однако вы можете создавать нестандартные размеры бумаги на многих принтерах. В разделе «Параметры страницы» нажмите кнопку «Параметры». Откроется диалоговое окно свойств принтера. Измените размер бумаги на нестандартный с помощью этого диалогового окна и нажмите OK.
Вопрос 3
Я хотел бы добавить к этому.
Вы также можете добавить эту строку Application.Dialogs(xlDialogPageSetup).Show
Примером может быть:
Это предлагает пользователю выбрать размер страницы в зависимости от выбранного принтера. Я использую его для печати книги с несколькими вкладками одновременно и только с нужными вкладками.
Выбор размера бумаги (НЕ РАЗМЕР ПО УМОЛЧАНИЮ) в excel vba
У меня есть принтер Label Brother QL-720NW, на который я хочу напечатать несколько ярлыков.
Принтер имеет рулон шириной 62 мм
Когда я пытаюсь что-то напечатать, мне нужно настроить страницу и определить размер страницы. Если размер страницы неверен (ширина более 62 мм), принтер ничего не печатает.
Теперь моя проблема в том, что я использую excel с макросами для отправки некоторых данных на принтер. Я знаю, что есть предопределенные размеры страниц (http://msdn.microsoft.com/en-us/library/office/ff834612%28v=office.15%29.aspx), которые можно использовать, но в моем случае все они слишком велики для этой цели.
Вот пример кода, который у меня есть:
Теперь у меня есть 3 вопроса:
1: В.PaperSize = xlPaperUser я получаю ошибку времени выполнения ‘1004’. Не удалось установить PaperSize класса PageSetup. Что здесь не так?
2: Как я могу установить размер бумаги примерно на 62 мм x 50 мм?
3: Даже если я определяю область печати в Range (“Img”), она все равно печатает весь лист.
Кстати, я совершенно не знаком с vba, это моя первая попытка использовать vba.
Вопрос 1
xlPaperUser – это размер бумаги, заданный пользователем, которому назначено постоянное значение 256. Если это не было определено, оно может вызвать ошибку.
вопрос 2
В Excel нет возможности создавать собственные размеры бумаги, однако вы можете создавать собственные размеры бумаги на многих принтерах. В разделе “Параметры страницы” нажмите кнопку “Параметры”. Появится диалоговое окно свойств принтера. В этом диалоговом окне измените размер бумаги на нестандартный размер и нажмите “ОК”.
Русские Блоги
[Excel VBA] Параметры печати объекта PageSetup
Мы часто печатаем вещи в своей работе и вручную устанавливаем некоторые параметры, например, горизонтальную или вертикальную печать. Разберитесь в свойствах PageSetup, задайте параметры печати с помощью нескольких коротких строк кода, затем вы можете установить их один раз, использовать постоянно, удобно и эффективно.
Объект PageSetup представляет инструкции по настройке страницы. Содержит все свойства настроек страницы (левое поле, нижнее поле, размер бумаги и т. Д.).
В следующем примере устанавливается альбомная ориентация печати, а затем выполняется печать рабочего листа.
1. Свойства, соответствующие вкладке «Страница»
В этом примере Sheet1 настраивается для печати в альбомной ориентации.
2. Свойства, соответствующие вкладке «Поля».
Установление и возврат маржи в пунктах. быть полезнымInchesToPoints Метод преобразования дюймов в фунты, вы также можете использоватьCentimetersToPoints Метод перевода сантиметров в точки.
Точка: относится к единице измерения высоты печатаемых символов. Фунт равен 1/72 дюйма или примерно равен 1/28 сантиметра. )
| Атрибуты | Описание |
|---|---|
| BottomMargin | Возвращает или задает размер нижнего поля в пунктах. Двойной тип, читаемый и записываемый. |
| CenterHorizontally | Если указанный рабочий лист напечатан в центре страницы по горизонтали, значение атрибута равно True. Логический тип, доступный для чтения и записи. |
| CenterVertically | Если указанный рабочий лист напечатан в центре страницы по вертикали, значение атрибута равно True. Логический тип, доступный для чтения и записи. |
| FooterMargin | Вернуть или установить расстояние от нижнего колонтитула до низа страницы в пунктах. Двойной тип, читаемый и записываемый. |
| HeaderMargin | Вернуть или установить расстояние от верха страницы до верхнего колонтитула в пунктах. Двойной тип, читаемый и записываемый. |
| LeftMargin | Возвращает или задает размер левого поля в пунктах. Двойной тип, читаемый и записываемый. |
| RightMargin | Возвращает или задает размер правого поля в пунктах. Двойной тип, читаемый и записываемый. |
| TopMargin | Возвращает или задает размер верхнего поля в пунктах. Двойной тип, читаемый и записываемый. |
В следующем примере устанавливаются все поля первого листа.
Эти два свойства аналогичны настройке содержимого ячейки по центру по горизонтали и вертикали.
3. Свойства, соответствующие вкладке «Верхний / нижний колонтитул».
| Атрибуты | Описание |
|---|---|
| AlignMarginsHeaderFooter | Если Excel выравнивает верхний и нижний колонтитулы с полями, заданными в параметрах настройки страницы, он возвращает True. Чтение / запись логического типа. |
| CenterFooter | Отцентрируйте информацию нижнего колонтитула в объекте PageSetup. Чтение / запись типа String. |
| CenterFooterPicture | Возвращает графический объект, который представляет изображение в средней части нижнего колонтитула. Используется для установки атрибутов, связанных с изображением. |
| CenterHeader | Выровняйте информацию заголовка по центру объекта PageSetup. Чтение / запись типа String. |
| CenterHeaderPicture | Возвращает графический объект, который представляет изображение в средней части заголовка. Используется для установки атрибутов, связанных с изображением. |
| DifferentFirstPageHeaderFooter | Истинно, если на первой странице используется другой верхний или нижний колонтитул. Чтение / запись логического типа. |
| LeftFooter | Возвращает или задает выравнивание текста в левом нижнем колонтитуле книги или раздела. |
| LeftFooterPicture | Возвращает графический объект, который представляет изображение в левой части нижнего колонтитула. Используется для установки атрибутов, связанных с изображением. |
| LeftHeader | Возвращает или задает выравнивание текста в левом заголовке книги или раздела. |
| LeftHeaderPicture | Возвращает графический объект, который представляет изображение в левой части заголовка. Используется для установки атрибутов, связанных с изображением. |
| OddAndEvenPagesHeaderFooter | Если нечетные и четные страницы указанного объекта PageSetup имеют разные верхние и нижние колонтитулы, значение этого атрибута равно True. Логический тип, доступный для чтения и записи. |
| RightFooter | Возвращает или задает расстояние (в пунктах) между правым краем страницы и правым краем нижнего колонтитула. Чтение / запись типа String. |
| RightFooterPicture | Возвращает графический объект, который представляет изображение в правой части нижнего колонтитула. Используется для установки атрибутов изображения. |
| RightHeader | Вернуть или установить правую часть заголовка. Чтение / запись типа String. |
| RightHeaderPicture | Укажите графическое изображение, которое должно отображаться в правом заголовке. Только чтение. |
| ScaleWithDocHeaderFooter | Возвращает или задает, будут ли масштабироваться верхний и нижний колонтитулы вместе с документом при изменении размера документа. Чтение / запись логического типа. |
4. Свойства, соответствующие вкладке «Рабочий лист»
| Атрибуты | Описание |
|---|---|
| BlackAndWhite | Если элементы в указанном документе напечатаны черно-белыми, значение атрибута равно True. Логический тип, доступный для чтения и записи. |
| Draft | Если графика на листе не печатается при печати, значение атрибута равно True. Логический тип, доступный для чтения и записи. |
| Order | Возвращает или задает значение XlOrder, которое представляет порядок, который Microsoft Excel использует для нумерации страниц при печати большого рабочего листа. |
| PrintArea | Верните или установите область для печати в виде строки, которая использует ссылку стиля A1 макроязыка. Тип строки, доступный для чтения и записи. |
| PrintComments | Вернуть или установить способ печати комментариев на листе. Тип XlPrintLocation, доступный для чтения и записи. Вы можете распечатать комментарии в виде текстовых полей или концевых сносок. |
| PrintErrors | Устанавливает или возвращает константу XlPrintErrors, которая указывает тип отображаемой ошибки печати. Эта функция позволяет пользователям отменять отображение ошибок при печати рабочего листа. Могу читать и писать. |
| PrintGridlines | Если линии сетки ячеек напечатаны на странице, значение равно True. Применяется только к рабочим листам. Логический тип, доступный для чтения и записи. |
| PrintHeadings | Если заголовки строк и столбцов печатаются одновременно при печати этой страницы, значение равно True. Применяется только к рабочим листам. Логический тип, доступный для чтения и записи. |
| PrintNotes | Если при печати рабочего листа комментарии к ячейкам печатаются вместе как концевые сноски, значение равно True. Применяется только к рабочим листам. Логический тип, доступный для чтения и записи. |
| PrintTitleColumns | Возвращает или задает столбец, содержащий ячейки, которые повторно появляются в левой части каждой страницы, выраженные строкой на языке макросов в стиле A1. Тип строки, доступный для чтения и записи. Установите для этого атрибута значениеFalseИли пустая строка («»), строка заголовка будет закрыта. |
| PrintTitleRows | Возвращает или задает те строки, которые содержат ячейки, которые многократно появляются в верхней части каждой страницы, выраженные в нотации стиля A1 с помощью строк макроязыка. Тип строки, доступный для чтения и записи. |
Комментарий будет напечатан на новой странице.
5. Атрибуты, не соответствующие вкладкам
| Атрибуты | Описание |
|---|---|
| Application | Если идентификатор объекта не используется, это свойство возвращает объект Application, представляющий приложение Microsoft Excel. Если используется идентификатор объекта, это свойство возвращает объект Application, представляющий создателя указанного объекта (вы можете использовать это свойство в объекте автоматизации OLE, чтобы вернуть приложение объекта). Только чтение. |
| Creator | Возвращает 32-битное целое число, указывающее приложение, создавшее объект. Только чтение Длинный тип. |
| EvenPage | Возвращает или задает выравнивание текста на четных страницах книги или раздела. |
| FirstPage | Возвращает или задает выравнивание текста на первой странице книги или раздела. |
| Parent | Возвращает родительский объект указанного объекта. Только чтение. |
Range.PrintOut метод
Этот метод эквивалентен нажатию кнопки печати в Excel для выполнения операции печати. Этот метод позволяет указать принтер для печати.
Выражение выглядит следующим образом.
.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)
| название | Описание |
|---|---|
| From | Номер начальной страницы для печати. Если этот параметр не указан, печать начнется с начальной позиции. |
| To | Номер конечной страницы печати. Если этот параметр не указан, печать будет до последней страницы. |
| Copies | Количество копий для печати. Если этот параметр не указан, будет напечатана только одна копия. |
| Preview | Если этоTrue, Microsoft Excel вызовет предварительный просмотр перед печатью объекта. Если этоFalse(Или опустите этот параметр), объект будет немедленно напечатан. |
| ActivePrinter | Задайте имя активного принтера. |
| PrintToFile | Если этоTrue, Затем распечатайте в файл. Если не указаноPrToFileName, Microsoft Excel предложит пользователю ввести имя файла вывода, который будет использоваться. |
| Collate | Если этоTrue, Печать нескольких копий с подборкой. |
| PrToFileName | в случае PrintToFileУстановить какTrue, Параметр указывает имя файла для печати. |
Заметка:From с участием ToОписанная «страница» относится к странице, которая будет напечатана, а не ко всем страницам в указанном листе или книге.
Публичный аккаунт WeChat: VBA168
Обратите внимание на общедоступную учетную запись WeChat и каждый день получайте объяснения классических примеров Excel VBA.
Магазины Taobao предоставляют услуги настройки Excel.
Не удалось установить свойство PaperSize класса PageSetup
Я пытаюсь распечатать таблицу Excel с помощью VB.NET, но я получаю сообщение об ошибке
Не удалось установить свойство PaperSize класса PageSetup
Этот код работает на моей машине разработки, как только я развертываю на тестовый сервер, код выходит из строя. На сервере уже установлен драйвер принтера по умолчанию.
Вам необходимо установить драйверы принтера. Класс PageSetup Excel должен взаимодействовать с драйверами принтера
У меня аналогичная проблема, связанная с кодом на Windows 8, работающем под Mac Parallels (виртуальная машина). Для тех, кто занимается развертыванием Visual Studio на Mac Parallels, вот что я делаю:
Вы можете использовать автоматизацию офиса, чтобы изменить размер страницы примерно так:
или выберите любой другой тип бумаги из раскрывающегося списка “WdPaperSize”.
надеюсь, это поможет вам немного.
Основная проблема заключается в константе _paperSize. В моем случае это давало ту же ошибку: (простите С#)
в зависимости от принтера, например, бумага формата “книга” может быть определена как 11×17 или Tabloid. Узнайте, что драйвер печати ссылается на размер страницы, а затем
НЕ РАБОТАЕТ:
РАБОТАЛ:
Надеюсь, это поможет любому, у кого есть проблемы с смешными несоответствиями перечислений Microsoft Excel.
Подтверждение ответа XSham от Microsoft:
Симптомы
При запуске макроса Microsoft Visual Basic для приложений, который пытается установить или получить свойства настройки страницы для любого лист в книге в Microsoft Excel, вы можете получить любой из следующие сообщения об ошибках:
Ошибка времени выполнения “1004”: невозможно установить свойство x для PageSetup Ошибка времени выполнения класса “1004”: невозможно получить свойство x Класс PageSetup
Причина
Эта проблема возникает, если на вашем компьютере не установлены драйверы принтера. Excel не может установить или получить параметры настройки страницы, если не установлены драйверы принтера.
Разрешение
Чтобы предотвратить возникновение этой проблемы, установите на компьютер драйвер принтера. Используйте параметр “Принтеры” на панели управления для добавления и удаления драйверов принтера.
Невозможно установить свойство PaperSize класса PageSetup
Я пытаюсь распечатать таблицу Excel с помощью VB.NET, но получаю ошибку
Невозможно установить свойство PaperSize класса PageSetup
Этот код работает на моей машине для разработки, и как только я внедряюсь на тестовом сервере, код завершается ошибкой. На сервере уже установлен драйвер принтера по умолчанию.
3 ответа
Вам необходимо установить драйверы принтера. Класс PageSetup в Excel должен взаимодействовать с драйверами принтера
У меня похожая проблема при запуске связанного кода в Windows 8, работающей под Mac Parallels (виртуальная машина). Для тех, кто занимается развертыванием Visual Studio на Mac Parallels, вот что я делаю:
Основная проблема заключается в константе _paperSize. В моем случае это выдает ту же ошибку: (простите C#)
например, в зависимости от принтера размер бумаги «ГК» может быть определен как 11×17 или «Таблоид». Узнайте, что драйвер принтера относится к размеру страницы, а затем
НЕ РАБОТАЕТ:
РАБОТАЛ:
Я надеюсь, что это может помочь любому, у кого есть проблемы с забавными несоответствиями перечислений Microsoft Excel.
Подтверждение ответа XSham от Microsoft:
Симптомы
Когда вы запускаете макрос Microsoft Visual Basic для приложений, который пытается установить или получить свойства настройки страницы для любого листа в книге в Microsoft Excel, вы можете получить одно из следующих сообщений об ошибке:
Ошибка времени выполнения «1004»: невозможно установить свойство x класса PageSetup. Ошибка времени выполнения «1004»: невозможно получить свойство x класса PageSetup
Причина
Эта проблема возникает, если на вашем компьютере не установлены драйверы принтера. Excel не может установить или получить свойства настройки страницы, если не установлены драйверы принтера.
разрешение
Чтобы предотвратить возникновение этой проблемы, установите на свой компьютер драйвер принтера. Используйте параметр «Принтеры» на панели управления для добавления и удаления драйверов принтера.









