|
![]() |
#1 |
Участник
|
можно ли объединить две ячейки в одну? Если можно, то как?
|
|
![]() |
#2 |
Moderator
|
xlWorksheet.Range('A1:C3').Merge;
|
|
![]() |
#3 |
Участник
|
Спасибо большое!!!
Еще вопрос, а выравнивание по центру или по левому , по правому краю (по вертикали и горизонтали) как задается? |
|
![]() |
#4 |
Участник
|
xlWorksheet.Range(SomeRange)..HorizontalAlignment := X;
Где X = -4131 лево -4108 центр -4152 право |
|
![]() |
#5 |
Участник
|
Хм... А почему бы не использовать шаблон? Я всегда так делаю если много форматирования на листе. В екселе то это всяко проще сделать чем из навика
![]() |
|
![]() |
#6 |
Участник
|
Large thanks!
|
|
![]() |
#7 |
Участник
|
|
|
![]() |
#8 |
Участник
|
А как используют шаблон?
|
|
![]() |
#9 |
Участник
|
Создаете шаблон со всеми форматами (выравниваниями, шрифтами, цветами и т.п.) , а потом его открываете
exApp.Workbooks.Open(ReportingPath+'/'+TextDocName); exWbk := exApp.Workbooks.Item(FORMAT(TextDocName)); exWshData := exWbk.Worksheets.Item(FORMAT(TextSheetName)); Все..... можно работать с этими объектами.... |
|
![]() |
#10 |
Участник
|
Ага, тока randrews забыл добавить, что после работы все это дело надыть сохранить в другой файл, чтобы шаблон не испортить (он ведь всяко не для разового применения
![]() xlBook.SaveAs(FileName). з.ы. Немного не в тему вопрос, но все таки. Чем метод Open отличается от _Open? А то в разных топиках по разному в примерах пишут, хотелось бы понять. |
|
![]() |
#11 |
Участник
|
Цитата:
Сообщение от smoyk
![]() Ага, тока randrews забыл добавить, что после работы все это дело надыть сохранить в другой файл, чтобы шаблон не испортить (он ведь всяко не для разового применения
![]() xlBook.SaveAs(FileName). з.ы. Немного не в тему вопрос, но все таки. Чем метод Open отличается от _Open? А то в разных топиках по разному в примерах пишут, хотелось бы понять. |
|
![]() |
#12 |
Участник
|
можно создать новую книгу на основе шаблона таким способом:
CREATE(XlApp); IF EXISTS (Path) THEN XlWrkBk:=XlApp.Workbooks.Add(Path) ELSE XlWrkBk:=XlApp.Workbooks.Add; Path - полное имя файла-шаблона. |
|
![]() |
#13 |
Участник
|
А шаблоны где-то размещать по фиксированному пути? Это не гибко ведь
|
|
![]() |
#14 |
Участник
|
|
|
![]() |
#15 |
Участник
|
|
|
![]() |
#16 |
Участник
|
Загонять в блоб, код размещается в событие контрола
Код: IF FieldName.IMPORT('', TRUE) = '' THEN EXIT; IF FieldName.HASVALUE THEN IF NOT CONFIRM(Text001, TRUE, FIELDCAPTION(FieldName)) THEN EXIT; CurrForm.SAVERECORD; Код: IF COPYSTR(Path, STRLEN(Path), 1) <> '\' THEN Path := Path + '\'; FileName:='FileName'; TableName.CALCFIELDS(FieldName); IF (TableName.FieldName.HASVALUE) AND (STRLEN(Path)>0) THEN BEGIN PathFileName:=TableName.FieldName.EXPORT(Path+FileName); |
|
![]() |
#17 |
Участник
|
Я для хранения шаблонов использую таблицу 12413 - Extern. Report Name. Там сделан интерфейс для загрузки файлов в BLOB.
Все шаблоны хранятся в одном месте. И легко их администрировать. Плюс хранения шаблонов в BLOB - в том, что если я могу работать с шаблонами в независимости от места расположения базы. А особых тормозов при работе с шаблонами, хранящимися в BLOB, я не вижу. |
|
![]() |
#18 |
Участник
|
Про BLOB кстати да. Думал так сделать в следующий раз. Только вот в какой каталог сохранять из BLOB, чтоб не потерять в гибкости? По идее нужно в каталог временных файлов пользователя. А как просто получить его путь без извращений вроде чтения реестра?
|
|
![]() |
#19 |
Участник
|
Цитата:
По идее нужно в каталог временных файлов пользователя. А как просто получить его путь без извращений вроде чтения реестра?
|
|
![]() |
#20 |
Участник
|
Во изврат... Я что-то не понимаю, чем не устраивает расшаренная сетевая папка? Шаблон будет братся из одного места для всех пользователей, централизованное обновление... Сделать скрытой, чтобы ламо всякие не лазили и не удалили случайно. А BLOB... Потеряете и в скорости (эт точно), и в удобстве (ну а это уже субьективно).
2 qrif Обьясните, о какой гибкости вы говорите? Что именно вы потеряете (в плане гибкости)? |
|