Невозможно установить свойство Orientation класса PageSetup в программе Excel
Когда я запускаю это из локальной системы, он работает и когда я копирую его на сервер и запускаюсь из службы, предоставляющей следующую ошибку.
Невозможно установить свойство Orientation класса PageSetup
Класс PageSetup Excel должен взаимодействовать с драйверами принтера на сервере. Если нет установленных драйверов принтера или доступа к ним, любые вызовы этого класса с вызовом исключения.
Вы должны убедиться, что на сервере установлен принтер по умолчанию, и установлены драйверы принтера. Кроме того, если вы получаете доступ к этому из ASP.net, есть проблемы с доступом, и вы должны убедиться, что учетная запись ASP.Net имеет разрешение на доступ к принтеру. См. Эту статью, в которой излагаются некоторые из вопросов более подробно: http://support.microsoft.com/?id=291298
Я не уверен, что вы используете приложение ASP.net. Но вот что я получил.
У меня есть ASP 4.0, и мой код в основном генерирует файл excel. После создания файла excel я экспортирую его в pdf. Это вызывает ту же проблему, что и у вас.
Как указывал BgRva, вам необходимо установить драйверы принтера. Класс PageSetup Excel должен взаимодействовать с драйверами принтера
У меня есть аналогичная проблема с запущенным связанным кодом в Windows 8, работающим под Mac Parallels (Virtual Machine). Для тех, кто занимается развертыванием Visual Studio на Mac Parallels, вот что я делаю:
- Отключить использование принтеров между Mac и Windows. Перейти к Parallels
(VM) > Настроить > Оборудование и нажмите «Печать». Снимите флажок «Добавить все Mac
принтеры и «Синхронизировать принтер по умолчанию»
Установить драйвер принтера в Windows
Чтобы получить назначенный IP-адрес одним и тем же беспроводным маршрутизатором
(если вам необходимо подключиться к принтеру по беспроводной сети), вам необходимо настроить
сеть как мост. Перейти к Parallels
(VM) > Настроить > Оборудование > «Сеть 1» и выберите «Тип сети» как «Аэропорт» и «Сервер DHCP» как «Авто»
Русские Блоги
[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.
Нельзя установить свойство leftheader класса pagesetup
| Ошибка при выгрузке данных в Excel | |
|---|---|
| V-kont Автор | |
Сообщений: 105
| Дата: 19.01.11 12:42:48 |
В методе кнопки получаю/создаю Excel-объект:
Затем идет выгрузка данных (через EXPORT), после чего идет проверка:
От чего это может зависеть?
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| Владимир Максимов | |
Сообщений: 13911
Откуда: Москва
| Дата: 19.01.11 13:58:25 |
Ну, Вы же сами подавили сообщение об ошибке. Т.е. если CreateObject() также выполнился с ошибкой, то Вы это никак не проверяете. У Вас просто NULL и все. Вне зависимости от типа ошибки.
Создание экземпляра Excel должно иметь вид
Все! Никаких ON ERROR и никаких GetObject().
Использование GetObject() плохо тем, что Вы подхватываете экземпляр Excel с которым может происходить какая-то работа. По сути, лезете в чужое приложение, а не создаете свое.
ON ERROR в данном случае плох тем, что даже если ошибка не критичная (т.е. экземпляр Excel тем не менее создался), но Вы все-равно обнуляете ссылку и становится не понятно, в чем же причина ошибки.
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| AleksM | |
Сообщений: 17810
| Дата: 19.01.11 14:03:49 |
Зачем создавать объект Excelя, если выгрузка идет через EXPORT? Или потом созданый файл открывается через loExcel?
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| V-kont Автор | |
Сообщений: 105
| Дата: 19.01.11 14:10:05 |
Владимир Максимов
Ну, Вы же сами подавили сообщение об ошибке. Т.е. если CreateObject() также выполнился с ошибкой, то Вы это никак не проверяете. У Вас просто NULL и все. Вне зависимости от типа ошибки.
Создание экземпляра Excel должно иметь вид
Все! Никаких ON ERROR и никаких GetObject().
Использование GetObject() плохо тем, что Вы подхватываете экземпляр Excel с которым может происходить какая-то работа. По сути, лезете в чужое приложение, а не создаете свое.
ON ERROR в данном случае плох тем, что даже если ошибка не критичная (т.е. экземпляр Excel тем не менее создался), но Вы все-равно обнуляете ссылку и становится не понятно, в чем же причина ошибки.
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| Igor Korolyov | |
Сообщений: 34308
| Дата: 19.01.11 15:15:04 |
Исправлено: Igor Korolyov, 19.01.11 15:15
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| V-kont Автор | |
Сообщений: 105
| Дата: 19.01.11 18:50:51 |
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| dimuhametov | |
Сообщений: 1540
Откуда: Костанай
| Дата: 19.01.11 19:09:27 |
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| V-kont Автор | |
Сообщений: 105
| Дата: 27.01.11 13:11:24 |
В общем, переделал как советовали и выяснилось, что проблема была следующая.
Подробнее: есть вот такой код:
При отработке выдает вот такую ошибку:
1429 OLE IDispatch exception code 0 from Microsoft Excel: Нельзя установить свойство PrintQuality класса PageSetup..
Как лучше всего обойти эту проблему? (А то я пока что имею представление лишь о закомменчивании упомянутой строки. )
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| Александр Жевелев | |
Сообщений: 2684
Откуда: Новосибирск
| Дата: 27.01.11 13:22:15 |
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| V-kont Автор | |
Сообщений: 105
| Дата: 27.01.11 14:30:51 |
Ага, спасибо, понял! Но теперь другой вопрос: сделал вот так
Ругается на:
1426 Ошибка OLE, код 0x80070057: The parameter is incorrect
Есть ли рабочий вариант код с этим самым PrintQuality?
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| Александр Жевелев | |
Сообщений: 2684
Откуда: Новосибирск
| Дата: 27.01.11 14:50:48 |
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| AleksM | |
Сообщений: 17810
| Дата: 27.01.11 16:05:05 |
| Re: Ошибка при выгрузке данных в Excel | |
|---|---|
| Igor Korolyov | |
Сообщений: 34308
| Дата: 27.01.11 17:45:49 |
Не удалось установить свойство 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 не может установить или получить параметры настройки страницы, если не установлены драйверы принтера.
Разрешение
Чтобы предотвратить возникновение этой проблемы, установите на компьютер драйвер принтера. Используйте параметр “Принтеры” на панели управления для добавления и удаления драйверов принтера.











