Delphi excel вставить разрыв страницы
Я пытаюсь добавить разрыв страницы в файл interop excel, но пока не могу этого сделать. Иногда ничего не происходит, а иногда я получаю исключение «Невозможно установить свойство PageBreak класса Range».
Вот файл шаблона.
Вот некоторый код (коментированный), который я пробовал.
При добавлении данных для новой страницы разрыв страницы должен попасть в конец следующей строки.
Любая помощь приветствуется.
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно.
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей.
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то.
Ответы 2
Разбейте рабочий лист Excel на несколько страниц и установите режим просмотра в качестве предварительного просмотра разрыва страницы.
PS: A7 и A13 - это перерыв
ОТРЕДАКТИРОВАНО
Удалите указанный горизонтальный разрыв страницы, вызвав метод HPageBreaks.RemoveAt().
Спасибо за ваш ответ. Я уже пробовал это. Первое утверждение действительно добавляет новый разрыв страницы в беловатую область листа Excel. Но вторая линия не работает. Я предполагаю, что на данный момент разрыв страницы можно добавить только в беловатой области, может быть? Но я хочу переместить существующий разрыв страницы (отображаемый синей строкой после 7-й строки в прикрепленном изображении) в следующую строку. Точно так же, как когда мы перетаскиваем разрыв страницы с помощью мыши на следующую строку (строки). Можно ли это сделать?
Итак, вы хотите, чтобы разрыв страницы перемещался после 7-й строки? Почему он не работает? Мой работает. Вы что-то пропустили?
Мне не удалось найти определение УдалитьВ() в HPageBreaks. Я использую Microsoft.Office.Interop.Excel. Я нашел worksheet.HPageBreaks[1].Delete(); , чтобы удалить разрыв страницы. У меня такое чувство, что в файле (как показано на рисунке) ниже 7-й строки автоматически разрывается страница, так как я получаю HPageBreaks.Count как ноль. Я могу добавить разрывы страниц, но в файле отображаются только те разрывы страниц, которые находятся в беловатой области файла. Может быть, если мы удалим автоматический разрыв страницы (под 7-й строкой на изображении) и добавим новый под следующими строками, такими как A13.
Спасибо за ваше драгоценное время. Я нашел решение через свойство PrintArea, и оно сработало. :)
Добрый день, ребята.
Я работаю с документом Word из Delphi. Создаю новый документ, наполняю его из Delphi. С этим проблем нет. Только возник один вопрос, на который не могу пока найти ответ. Вопрос такой - как программно добавить в документ Word разрыв страницы в нужном месте? Новый документ создается с помощью функции - CreateOleObject('Word.Application'). Заранее благодарен за помощь.
Программно создать разрыв страницы в файле типа *.doc
Кто знает, как при записи инфы в файл типа *.doc создать разрыв страницы. Имеется в виду - пишем в.
Как программно поменять стандартные параметры страницы в delphi?
Прошу помощи! Как программно поменять стандартные параметры страницы в delphi, как это делается по.
Как удалить в текстовом файле разрыв страницы
Здравствуйте! Как удалить в текстовом файле разрыв страницы !? Желательно с примером. .
Записал макрос в Word.
Вот его листинг
У меня вопрос как перевести этот макрос в Object Pascal?
Я попытался вставить строку - Selection.InsertBreak Type:=wdPageBreak, но Delphi ругается на wdPageBreak, говоря, что это необъявленная переменная.
InsertBreak(type) - Вставляет страницу, колонку или секцию.
Параметр type содержит значение константы WdBreakType:
wdTextWrappingBreak | 11 | Конец текущей строки и продолжение вставки ниже изображения, таблицы или другого объекта. Материал продолжается на следующей пустой строке, которая не содержит таблицу, совмещенную с левой или правой границей |
wdLineBreakClearRight | 10 | Перевод на новую строку |
wdLineBreakClearLeft | 9 | Перевод на новую строку |
wdColumnBreak | 8 | Разрыв колонки |
wdPageBreak | 7 | Вставка новой страницы |
wdLineBreak | 6 | Перевод на новую строку |
wdSectionBreakOddPage | 5 | Начало нового раздела со следующей нечетной страницы |
wdSectionBreakEvenPage | 4 | Начало нового раздела со следующей четной страницы |
wdSectionBreakContinuous | 3 | Новый раздел без разрыва страницы |
wdSectionBreakNextPage | 2 | Начало нового раздела со следующей страницы |
Я пишу это - Selection.InsertBreak.Type:=wdPageBreak.
Программа не компилируется. Выдает ошибку о том, что wdPageBreak - необъявленная переменная.
P.S. Модуль ComObj подключен.
Добавлено через 47 минут
Решил свою проблему. Написал следующее -
W.ActiveDocument.Range.InsertAfter('---------');
W.Selection.Find.Forward:=true;
W.Selection.Find.Text:='---------';
if ((W.Selection.Find.Execute) and (i
begin
W.Selection.InsertBreak;
end;
Это работает. Спасибо всем, кто отвечал.
Как отличить разрыв страницы от разрыва раздела в программе "Word"
Скажите, пожалуйста, как отличить VBA-средствами разрыв страницы от разрыва раздела в программе.
разрыв страницы
Интересует, возможно ли как-то сделать разрыв страницы в менеджере статей не текстового содержания.
Разрыв страницы
Как запретить разрыв страницы внутри таблицы? Чтобы если таблица при печати не влазит целиком на.
Разрыв страницы
Здравствуйте! есть документ в котором созданы 2 раздела с помощью разрыва страниц. 1 раздел должен.
Разрыв страницы!
Добрый день. Использую шаблон IT_AutoMag-FullPack Джумла 1.5 На страницах где текста очень много.
Александр Шабля
дата публикации 26-05-2006 03:55
- Как добавить новую книгу?
- Как задать количество листов в новой книге?
- Как открыть книгу, имеющуюся на диске?
- Как сохранить книгу?
- Как закрыть книгу без вопросов о сохранении? Как закрыть все книги?
- Как узнать имена всех открытых книг?
- Как найти определенную открытую книгу?
- Как переименовать книгу?
- Как спрятать книгу?
- Как открыть текстовый файл в Excel'е?
- Как узнать имена всех листов в книге и их количество?
- Как получить ссылку на активный лист в активной книге?
- Как добавить новый лист в книгу? Как удалить лист?
- Нужно ли делать лист активным, чтоб записать в него данные?
- Как задать имя листу в книге?
- Как выделить один или несколько листов в книге?
- Как скопировать/переместить лист в одной книге? В другую книгу?
- Как задать/убрать область печати? Как вызвать PrintPreview? Как напечатать лист?
- Как установить параметры печати: отступы на листе, ориентацию листа и др.?
- Как установить свои разрывы страниц (HPageBreaks) в области печати? Как узнать номер строки HpagePreak?
- Как сделать так, чтобы на каждой странице повторялись заголовки колонок таблицы?
- Как спрятать рабочий лист?
- Как установить пароль на существующий лист/книгу?
- Как создать макрос из Delphi? Как выполнить макрос, имеющийся в книге?
- Будет ли работать макрос при выставленной "Очень высокая безопасность макросов" в Excel'е пользователя?
- Почему не работает макрос, записанный в книге?
Как добавить новую книгу?
Добавить новую пустую книгу:
В первом параметре метода Add можно указать стандартный тип шаблона Excel. Если же в нем указать имя (с полным путем) подготовленного файла (шаблоном может быть и "обычный" файл XLS, а не только файл XLT), то можно открыть книгу на диске как шаблон.
Откроет файл "MyTemplate1.xls", т.е. точно как обычный шаблон "Книга1.xls", но свой со своим форматированием, что позволит ускорить процесс экспорта данных в Excel, т.к. не придется форматировать ячейки и вызывать другие настройки листа.
Как задать количество листов в новой книге?
Задать количество листов в новой книге можно перед добавлением новой книги:
Как открыть книгу, имеющуюся на диске?
Если книга находится не в папке указанной в Excel.Application.DefaultFilePath, то нужно указывать полный путь к открываемому файлу .xls, даже если файл находится в текущей папке вашего приложения т.к. Excel ничего про него не знает.
Как сохранить книгу?
Как закрыть книгу без вопросов о сохранении? Как закрыть все книги?
Как узнать имена всех открытых книг?
Узнать имена всех книг экземпляра Excel.Application можно в цикле, например, так:
Как найти определенную открытую книгу?
Точно так же как в предыдущем ответе — по имени в свойстве Name. Если вы хотите сделать найденную книгу активной, то вызовите метод Activate
Как переименовать книгу?
Переименовать книгу ни как нельзя — только сохранить под другим именем методом SaveAs (смотрите "Как сохранить книгу").
Как спрятать книгу?
Как открыть текстовый файл в Excel'е?
Практически, так же как и обычную книгу, только внимательно указав дополнительные параметры в методе OpenText.
Как узнать имена всех листов в книге и их количество?
Узнать количество листов в книге можно в цикле по коллекции Workbook.Sheets. Количество листов — свойство Sheets.Count. Имя листа — свойство Worksheet.Name.
Как получить ссылку на активный лист в активной книге?
Обращаеясь к Excel.Application.ActiveSheet или WorkBook.ActiveSheet, вы получите ссылку на интерфейс IDispatch. Это происходит из-за того, что коллекция Excel.Application.Sheets может содержать объекты WorkSheet, Chart, Excel4MacroSheet (для поддержки Excel 4).
Определить тип листа можно, проверив свойство Worksheet.Type:
Как добавить новый лист в книгу? Как удалить лист?
При добавлении можно указать тип нового листа (WorkSheet, Chart, Excel4MacroSheet) и текущее положение. Добавленный лист будет активизирован автоматически (на него будет указывать свойство ActiveSheet)
Нужно ли делать лист активным, чтоб записать в него данные?
Не нужно — переключение (активация) листов только замедлит экспорт данных. Получите ссылку на любой лист в книге (активной или нет) и работайте c ней, как с активной. Активизировать лист нужно только в случае необходимости, например, при вставке из буфера обмена, предварительном просмотре и др.
Как задать имя листу в книге?
Как выделить один или несколько листов в книге?
Как скопировать/переместить лист в одной книге? В другую книгу?
Как задать/убрать область печати? Как вызвать PrintPreview? Как напечатать лист?
Как установить параметры печати: отступы на листе, ориентацию листа и др.?
Установка параметров печати — довольно продолжительный процесс, поэтому советую настроить их в предварительно подготовленном шаблоне. Все параметры печати задаются в свойстве PageSetup объекта Worksheet. Но учтите, что текст в свойствах Footer или Header для Left, Right, Center суммарно не должен превышать 255 символов.
Для задания отступов в сантиметрах используйте функцию Excel.Application.CentimetersToPoints
Если вы выполните данный код, то заметьте как долго Excel настраивает все границы печати.
Как установить свои разрывы страниц (HPageBreaks) в области печати? Как узнать номер строки HpagePreak?
Для того чтобы "появились" автоматические разрывы страниц нужно перейти в режим разметки.
Также вы можете "переместить" разрыв, присвоив новое значение свойству Location объекта HPageBreak
Как сделать так, чтобы на каждой странице повторялись заголовки колонок таблицы?
Нужно задать "сквозные" строки заголовка таблицы.
Как спрятать рабочий лист?
Как установить пароль на существующий лист/книгу?
Как создать макрос из Delphi? Как выполнить макрос, имеющийся в книге?
Вам не удастся создать макрос программно, т.к. по умолчанию в Excel VBA Project отключен доступ к VBA из программ. Как включить эту возможность читайте "PRB: Programmatic Access to Office XP VBA Project Is Denied"
Пример создания макроса с параметром и вызов его из программы:
Если все же вам очень нужно добавить макрос, не зависимо от настроек доступа к VBA Project, можно воспользоваться листом макросов xlExcel4MacroSheet. Макроязык представляет собой "команды".
Будет ли работать макрос при выставленной "Очень высокая безопасность макросов" в Excel'е пользователя?
Записанные макросы в книге, открытой вашей программой всегда будут работать, не зависимо от выставленного в Excel'е "Уровня безопасности" для макросов.
Почему не работает макрос, записанный в книге?
Записанный в книге макрос может не работать по причине установленного антивируса. Например, установленный "Kaspersky Office Guard", входящий в состав "Антивирус Касперского", начисто отключает все вызовы VBA.
Разрывы страниц — это разделители, разбиватели на отдельные страницы для печати. Microsoft Excel вставляет автоматические разрывы страниц с учетом размера бумаги, параметров полей и масштабирования, а также позиций разрывов страниц, вставленных вами вручную. Чтобы распечатать лист на определенном количестве страниц, перед выводом на печать можно настроить разрывы страниц на листе.
Хотя работать с разрывами страниц можно и в обычном режиме, рекомендуется использовать страничный режим: он позволяет увидеть, как вносимые изменения (например, ориентации страницы и форматирования) влияют на автоматические разрывы страниц. Например, вы можете увидеть, как изменение высоты строки и ширины столбца влияет на размещение автоматических разрывов страниц.
Чтобы переопределить автоматические разрывы страниц, вставляемые приложением Excel, вы можете вручную вставить собственные разрывы страниц, переместить или удалить их. Кроме того, можно быстро удалить все вставленные вручную разрывы страниц. Завершив работу с разрывами, можно вернуться в обычный режим просмотра.
В страничный режим пунктирныелинии — это разрывы страниц, автоматически добавленные Приложением Excel. Сплошные линии — это разрывы страниц, добавленные вручную.
Вставка разрыва страницы
Щелкните нужный таблицу.
На вкладке Вид в группе Режимы просмотра книги щелкните элемент Страничный режим.
Вы также можете щелкнуть страничный режим в панели состояния.
Выполните одно из указанных ниже действий.
Чтобы вставить вертикальный разрыв страницы, вы выберите строку, под которой его нужно вставить.
Чтобы вставить горизонтальный разрыв страницы, вы выберите столбец, справа от того места, куда его нужно вставить.
На вкладке Разметка страницы в группе Параметры страницы нажмите кнопку Разрывы.
Можно также щелкнуть правой кнопкой мыши строку или столбец, снизу или справа от которых необходимо вставить разрыв, и выбрать команду Вставить разрыв страницы.
Перемещение разрыва страницы
Важно: Чтобы разрешить перетаскивание разрывов страниц в другие места на листе, сначала включите функцию перетаскивания ячеек. Если эта функция отключена, перетаскивать разрывы страниц будет нельзя.
Чтобы проверить, включено ли перетаскивать данные, сделайте следующее:
На вкладке Файл выберите элемент Параметры. В Excel 2007 нажмите Microsoft Office кнопку и выберите "Параметры Excel".
В категории Дополнительно в разделе Параметры правки установите флажок Разрешить маркеры заполнения и перетаскивание ячеек и нажмите кнопку ОК.
Щелкните лист, который нужно изменить.
На вкладке Вид в группе Режимы просмотра книги щелкните элемент Страничный режим.
Вы также можете щелкнуть страничный режим в панели состояния.
Чтобы переместить разрыв страницы, перетащите его в новое положение.
Примечание: При перемещении автоматического разрыва страницы он становится вставленным вручную.
Удаление разрыва страницы
Выберите лист, который нужно изменить.
На вкладке Вид в группе Режимы просмотра книги щелкните элемент Страничный режим.
Вы также можете щелкнуть страничный режим в панели состояния.
Выполните одно из указанных ниже действий.
Чтобы удалить вертикальный разрыв страницы, выделите столбец справа от разрыва страницы, который требуется удалить.
Чтобы удалить горизонтальный разрыв страницы, выделите строку под разрывом, который требуется удалить.
Примечание: Удалить автоматический разрыв страницы нельзя.
На вкладке Разметка страницы в группе Параметры страницы нажмите кнопку Разрывы.
Выберите пункт Удалить разрыв страницы.
Вы также можете удалить разрыв страницы, перетащив его за пределы области странительного просмотра (влево за пределами строки или за ее пределами). Если перетаскивать разрывы страниц не удается, убедитесь, что включена функция перетаскивания. Дополнительные сведения см. в теме "Перемещение существующего разрыва страницы".
Удаление всех вставленных вручную разрывов страниц
Примечание: Эта процедура сбрасывает лист таким образом, чтобы на листе отображались только автоматические разрывы страниц.
Щелкните лист, который нужно изменить.
На вкладке Вид в группе Режимы просмотра книги щелкните элемент Страничный режим.
Вы также можете щелкнуть страничный режим в панели состояния.
На вкладке Разметка страницы в группе Параметры страницы нажмите кнопку Разрывы.
Выберите пункт Сброс разрывов страниц.
Совет: Чтобы удалить все вставленные вручную разрывы страниц, можно также щелкнуть любую ячейку листа правой кнопкой мыши и выбрать команду Сброс разрывов страниц.
Возврат в обычный режим
Чтобы вернуться в обычный режим по завершении работы с разрывами страниц, на вкладке Режим в группе Режимы просмотра книги нажмите кнопку Обычный.
Вы также можете щелкнуть "Обычный" в панели состояния.
После работы с разрывами страниц в страничном режиме они могут отображаться и в обычном, так как были включены автоматически. Чтобы скрыть разрывы страниц, закроте и снова откроете книгу без сохранения.
Разрывы страниц остаются видимыми после закрытия и повторного открытия книги после ее сохранения. Чтобы отключить их, на вкладке "Файл" нажмите кнопку "Параметры", выберите категорию "Дополнительные параметры", прокрутите список параметров отображения до раздела "Отображение" и скройте параметр "Показывать разрывы страниц". Дополнительные сведения см. в том, как отобразить или скрыть разрывы страниц в обычном режиме.
Отображение и скрытие разрывов страниц в обычном режиме
На вкладке Файл выберите элемент Параметры. В Excel 2007 нажмите кнопку "Microsoft Office" и выберите "Параметры Excel".
В категории Дополнительно в разделе Показать параметры для следующего листа установите или снимите флажок Показывать разбиение на страницы, чтобы соответственно включить или отключить отображение разрывов страниц в обычном режиме.
Невозможно добавить разрывы страниц в книгу в Excel в Интернете.
Однако вы можете открыть таблицу в классических приложениях Excel и добавить разрывы страниц.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
При печати разрывы страниц автоматически создаются в местах, где лист "разрывается" или его содержимое продолжается на следующей странице. В обычном режиме разрывы отображаются в виде горизонтальных и вертикальных пунктирных линий, а в режиме разметки страницы — в виде пустого пространства между страницами. Вы можете настроить расположение автоматических разрывов страниц и вручную добавить собственные разрывы. Вы также можете удалять разрывы страниц вручную, но не автоматические. Однако вы можете настроить ширину столбцов и полей, а также изменить масштаб листа так, чтобы его содержимое помещалось на меньшем количестве страниц.
Разрывы страниц отображаются в представлении Разметка страницы.
Просмотр разрывов страниц
Чтобы просмотреть разрывы страниц с помощью страничка в режиме странительного просмотра:
В панели состояния нажмите кнопку Страничный режим.
Или перейдите на вкладку Вид и нажмите кнопку Страничный режим.
Вставка горизонтального или вертикального разрыва станицы вручную
Выполните одно из указанных ниже действий.
Вставляемый элемент
Выполните следующие действия
Горизонтальный разрыв страницы
Выделите строку ниже той, после которой нужно вставить разрыв страницы.
Вертикальный разрыв страницы
Выделите столбец справа от столбца, за которым нужно вставить разрыв страницы.
На вкладке Разметка страницы в группе Настройка страницы нажмите кнопкуРазрывы и выберите Вставить разрыв страницы.
Перемещение разрыва страницы
В меню Вид выберите пункт Страничный режим.
Наведите указатель на линию разрыва страницы, чтобы он принял форму , и перетащите линию в новое место.
Примечание: После перемещения автоматический разрыв страницы считается вставленным вручную. Разрывы страниц, вставленные вручную, не изменяются автоматически.
Удаление разрыва страницы, добавленного вручную
Выполните одно из указанных ниже действий.
Удаляемый элемент
Выполните следующие действия
Горизонтальный разрыв страницы
Выделите строку ниже разрыва страницы.
Вертикальный разрыв страницы
Выделите столбец справа от разрыва страницы.
На вкладке Разметка страницы в группе Настройка страницы нажмите кнопку Разрывы ивыберите удалить разрыв страницы.
Удаление всех разрывов страниц, добавленных вручную
На вкладке Разметка страницы в группе Настройка страницы нажмите кнопку Разрывы ивыберите сброс всех разрывов страниц.
Просмотр разрывов страниц
В диалоговом окне "Печать" на листе отображаются пунктирные линии, обозначающие разрывы страниц.
В меню Файл выберите элемент Печать.
В диалоговом окне Печать можно увидеть, как будут напечатаны страницы.
На листе появятся синие пунктирные линии.
Примечание: Чтобы скрыть синие пунктирные линии, в меню Excel выберите пункт Параметры ,щелкните Вид ,а затем скройте параметр Показывать разрывы страниц.
Вставка горизонтального или вертикального разрыва станицы вручную
Выполните одно из указанных ниже действий.
Вставляемый элемент
Выполните следующие действия
Горизонтальный разрыв страницы
Выделите строку ниже той, после которой нужно вставить разрыв страницы.
Вертикальный разрыв страницы
Выделите столбец справа от столбца, за которым нужно вставить разрыв страницы.
На вкладке Макет в области Настройка страницынажмите кнопку Разрывыи выберите Вставить разрыв страницы.
Перемещение разрыва страницы
В меню Вид выберите пункт Обычный.
Наведите указатель на линию разрыва страницы, чтобы он принял форму , и перетащите линию в новое место.
Примечание: После перемещения автоматический разрыв страницы считается вставленным вручную. Разрывы страниц, вставленные вручную, не изменяются автоматически.
Удаление разрыва страницы, добавленного вручную
Выполните одно из указанных ниже действий.
Удаляемый элемент
Выполните следующие действия
Горизонтальный разрыв страницы
Выделите строку ниже разрыва страницы.
Вертикальный разрыв страницы
Выделите столбец справа от разрыва страницы.
На вкладке Макет в области Настройка страницынажмите кнопку Разрывыи выберите удалить разрыв страницы.
Удаление всех разрывов страниц, добавленных вручную
На вкладке Макет в области Настройка страницынажмите кнопку Разрывыи выберите сбросить все разрывы страниц.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Читайте также: