Автор magnifico61, 31 мая 2018, 16:55
0 Пользователей и 1 гость просматривают эту тему.
При сохранении табличного документа в Word вылетает ошибка
«Превышена допустимая ширина документа word 2007»
в одном макете есть Таблица шириной 49 колонок.
Как обойти данную ошибку?
Уменьшить ширину документа.
Руками. Клавиатурой, мышкой и прочими устройствами ввода. Добейся, чтобы док влазил при печати на лист А4 БЕЗ автомасштаба.
это невозможно сделать, так как очень большое количество макетов и они сохраняются в разные форматы (xlsx, pdf) и проблема только с word.
Нужно решить эту проблему другим способом, не прибегая к редактированию макета
Добавлено: 01 июн 2018, 13:44
Или как вариант вывести табличный документ в ворд через com.
Может кто знает как это сделать?
Плоские шутки для третьеклассников оставь при себе.
лучше бы помог, чем всякий мусор писал
magnifico61,
Без тебя разберусь, чем мне тут заниматься.
И я уже помог. Но тебе надо родить за 2 месяца.
Теги:
- Форум 1С
-
►
Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4 -
►
Конфигурирование, программирование в 1С Предприятие 8 -
►
Сохранение табличного документа в Word
Похожие темы (5)
Поиск
05.04.16 — 11:17
Можно ли программно объединить несколько word’ских файла?
1 — 05.04.16 — 11:18
Наверняка
2 — 05.04.16 — 11:23
(0) Объединяйте, пожалуйста. Никто не возражает.
3 — 05.04.16 — 11:29
Как?
4 — 05.04.16 — 11:30
(3)Открой учебник по офису
5 — 05.04.16 — 11:32
(4) в учебнике по офису написано как в 1С склеить два файла ворда?
6 — 05.04.16 — 11:33
(5) Ты не поверишь )
7 — 05.04.16 — 11:40
(0) file3.doc = file1.doc + file2.doc;
Шутка.
8 — 05.04.16 — 11:42
(0) открываешь файл.
Делаешь выделить все и копируешь в новый файл.
Со вторым файлом также.
9 — 05.04.16 — 11:44
Возможно, надо посмотреть команды (выдернул из макроса):
Selection.WholeStory
Selection.Copy
Selection.PasteAndFormat (wdUseDestinationStylesRecovery)
10 — 05.04.16 — 11:44
(8) «программно объединить» — где программа?
11 — 05.04.16 — 11:46
(10) 1С пойдет
12 — 05.04.16 — 11:54
(0)макросом пишется так:
Selection.InsertFile FileName:=»1.doc», Range:=»», ConfirmConversions:= _
False, Link:=False, Attachment:=False
Адаптируй в 1С:-)
13 — 05.04.16 — 12:01
(12) так не интересно. Давай полное законченное решение )
14 — 05.04.16 — 12:03
(13)полное и законченное стоит полый кошелек денюх:-)
15 — 05.04.16 — 12:04
(14) ах ты жадный 1Сник )))
16 — 05.04.16 — 12:07
(15)Надо же поддерживать имидж программиста 1С!
Еще вот поднатужусь и стану тупым и ленивым!:-)
17 — 05.04.16 — 12:07
EvilMacros = «Sub SuperMacros()
|Selection.InsertFile FileName:=»file1.docx», _
|Range:=»», ConfirmConversions:=False, Link:=False, Attachment:=False
|Selection.InsertFile FileName:=»file2.docx», _
|Range:=»», ConfirmConversions:=False, Link:=False, Attachment:=False
|Selection.InsertFile FileName:=»file3.docx», _
|Range:=»», ConfirmConversions:=False, Link:=False, Attachment:=False
|Selection.InsertFile FileName:=»file4.docx», _
|Range:=»», ConfirmConversions:=False, Link:=False, Attachment:=False
|End Sub»;
Word = Новый COMОбъект(«Word.Application»);
Word.Documents.Add();
VBComponents = Word.ActiveDocument.VBProject.VBComponents;
Count = VBComponents.Count();
VBComponents.Add(1);
VBComponents.Item(Count + 1).CodeModule.I_nsertLines(1, EvilMacros);
Word.Application.Run(SuperMacros»);
Word.Quit();
Word = Неопределено;
18 — 05.04.16 — 12:08
(17)Ты все испортил!!!(С)
19 — 05.04.16 — 12:10
(18) и не говори ))
20 — 05.04.16 — 12:30
(17) спасибо. Попробую.
Хочу из 1С в один файл объединить несколько таблиц с разной ориентацией.
21 — 05.04.16 — 12:32
(17) Извращение. Мало кто программный доступ к проекту ВБА разрешает.
22 — 05.04.16 — 12:38
(21) ага.
{Форма.Форма.Форма(446)}: Ошибка при получении значения атрибута контекста (VBProject)
VBComponents = Word.ActiveDocument.VBProject.VBComponents;
по причине:
Произошла исключительная ситуация (Microsoft Word): Отсутствует доверие к программируемому доступу к проекту Visual
23 — 05.04.16 — 12:44
(22) ну да разрешить )))
а иначе — юзайте MS Word Merge Tool. Но он платный.
24 — 05.04.16 — 12:57
(23) написать по-человечески тот же макрос не варик?
Word = Новый COMОбъект(«Word.Application»);
Word.Documents.Add();
Word.ActiveDocument.Selection.InsertFile FileName:=»file1.docx», _
Word.ActiveDocument.Range:=»», ConfirmConversions:=False, Link:=False, Attachment:=False
Word.ActiveDocument.Selection.InsertFile FileName:=»file2.docx», _
Word.ActiveDocument.Range:=»», ConfirmConversions:=False, Link:=False, Attachment:=False
Word.ActiveDocument.Selection.InsertFile FileName:=»file3.docx», _
Word.ActiveDocument.Range:=»», ConfirmConversions:=False, Link:=False, Attachment:=False
Word.ActiveDocument.Selection.InsertFile FileName:=»file4.docx», _
Word.ActiveDocument.Range:=»», ConfirmConversions:=False, Link:=False, Attachment:=False
Word.Quit();
Word = Неопределено;
и я даже не говорю о том, что сам по себе макрос не особо хороший, хотя рабочий.
25 — 05.04.16 — 12:58
(24) может и варик ).
Мой вариант был симбиозом двух рецептов )
26 — 05.04.16 — 12:59
точнее
Word = Новый COMОбъект(«Word.Application»);
Word.Documents.Add();
Word.ActiveDocument.Selection.InsertFile(«file1.docx», «», False, False, False)
Word.ActiveDocument.Selection.InsertFile(«file2.docx», «», False, False, False)
Word.Quit();
Word = Неопределено;
27 — 05.04.16 — 13:01
(26) то-то я думаю, что за странный синтаксис:
Word.ActiveDocument.Selection
Word.ActiveDocument.Range
28 — 05.04.16 — 13:16
(26) не работает что-то метод Selection
тут
Word.ActiveDocument.Selection.InsertFile(«file1.docx», «», False, False, False):
Метод объекта не обнаружен (Selection)
29 — 05.04.16 — 13:29
Так работает:
MSWord = Новый COMОбъект(«Word.Application»);
Документ = MSWord.Application.Documents.Add();
//Документ.Activate();
MSWord.Application.Selection.InsertFile(«W:ТабДок1.docx»,,, Ложь);
MSWord.Application.Selection.InsertFile(«W:ТабДок4.docx»,,, Ложь);
MSWord.Application.Visible = Истина;
MSWord.Activate();
30 — 05.04.16 — 13:42
Только при объединении двух вордовских файлов не сохраняется их ориентация:
1-й стоит Портрет,
2-й — Ландшафт.
Выводит все листы в портретной ориентации.
31 — 05.04.16 — 13:43
(30) Разрыв раздела вставляй.
32 — 05.04.16 — 14:05
(31) разрыв страницы макросом делается так:
Selection.InsertBreak Type:=wdPageBreak
а в 1С как сделать?
Пробую так:
MSWord.Application.Selection.InsertBreak.Type=7;
выдает ошибку «Поле объекта не обнаружено (InsertBreak)»
33 — 05.04.16 — 14:19
(32) А так? MSWord.Application.Selection.InsertBreak(7)
Только 7 — это вроде разрыв страницы, а тебе нужен разрыв раздела wdSectionBreakNextPage.
34 — 05.04.16 — 14:21
(33) Вместо 7 это 2 .
35 — 05.04.16 — 14:23
(33) (34) да так работает, спасибо. Но ориентацию ставит всё равно одну, первую (портрет).
36 — 05.04.16 — 14:24
(35) Потому что надо разрыв раздела ставить (может я с номером параметра ошибся). В ворде в разных разделах может быть разная ориентация, а на разных страницах одного раздела — нет.
37 — 05.04.16 — 14:25
(36) я так делал:
MSWord.Application.Selection.InsertBreak(2)
38 — 05.04.16 — 14:25
MSWord = Новый COMОбъект(«Word.Application»);
Документ = MSWord.Application.Documents.Add();
MSWord.Application.Selection.InsertFile(«W:ТабДок1.docx»,,, Ложь);
MSWord.Application.Selection.InsertBreak(2);
MSWord.Application.Selection.InsertFile(«W:ТабДок5.docx»,,, Ложь);
39 — 05.04.16 — 14:33
(38) Да, проверил. InsertFile — просто вставляет текст из файла без сохранения ориентации. Может там параметры какие есть, навскидку попробовал параметры ConfirmConversions.
40 — 05.04.16 — 14:33
+(39) Не помогло.
41 — 05.04.16 — 14:39
Сделал так: нажал запись макроса, выделил раздел, нажал кнопку параметры и установил ориентацию, получил такой макрос:
Sub Макрос1()
‘
‘ Макрос1 Макрос
‘
‘
With Selection.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientLandscape
.TopMargin = CentimetersToPoints(3)
.BottomMargin = CentimetersToPoints(1.5)
.LeftMargin = CentimetersToPoints(2)
.RightMargin = CentimetersToPoints(2)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.25)
.FooterDistance = CentimetersToPoints(1.25)
.PageWidth = CentimetersToPoints(29.7)
.PageHeight = CentimetersToPoints(21)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
End Sub
Как вот его переделать для 1С вот в чем вопрос.
42 — 05.04.16 — 14:40
(40) А вот если из файла 2 копипастить (Ctrl+A, Сtrl+С) и вставлять в новый раздел файла 1, то ориентация тоже копируется
43 — 05.04.16 — 14:44
Ура заработало:
MSWord.Application.Selection.PageSetup.Orientation = 1;
44 — 05.04.16 — 14:48
(43) Ну если ты заранее знаешь, в каком файле какая ориентация — то пойдёт. А иначе придётся извращаться. Или если в добавляемом файле будет несколько разделов с разной ориентацией.
45 — 05.04.16 — 14:48
(41) Да хз в чем там вопрос. Объктная модель у ворда такая:
Application (окно приложений с конпками меню, вобщем сам ворд)
v
ActiveDocument (текущий открытый документ ворда)
v
Range (область в документе. Свойство Selection возвращает Range, который выделил пользователь, ессно при работе с COM Selection лучше не пользоваться, а использовать непосредственно Range).
Еще у Document есть коллекции Paragraphs (абзацы) и Words (отдельные слова). Элементы этих коллекций тоже имеют свойство Range.
46 — 05.04.16 — 14:52
(44) да это известно.
47 — 05.04.16 — 15:00
Еще проблема:
листы, у которых ориентация ландшафт широкие и при сохранении в ворд, получаю ошибку:
«Ошибка экспорта табличного документа: Превышена допустимая ширина документа Word 2007»
А ворде параметр — «по ширине листа не рабоает» FitToPagesWide
В экселе это не сделаешь, нет метода InsertFile.
Остается выравнивать по вертикале, если не влазит, то ставить верикальный разделитель.
Всё это делать с помощью методов ПроверитьПрисоединение() и ВывестиВертикальныйРазделительСтраниц().
Сообщение об ошибке «Документ не сохранен» может появиться при попытке сохранить файл Excel. Хотите знать, каковы причины проблемы? Как исправить ошибку и как восстановить несохраненные файлы Excel? Вот ответы.
Последнее обновление: апрель, 4th, 2019, Ian McEwan
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Еще проблема листы, у которых ориентация ландшафт широкие и при сохранении в ворд, получаю ошибку Ошибка экспорта табличного документа Превышена допустимая ширина документа Word 2007 А ворде параметр — по ширине листа не рабоает FitToPagesWide. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Использование
=============
Переключитесь на табличный документ 1С, который требуется сохранить в Excel, и нажмите на созданную в Конфигураторе кнопку. В открывшейся форме укажите, куда следует сохранить табличный документ и нажмите кнопку «Сохранить».
Загрузка данных в табличную часть документа из Excel — 1с-просто
- Снова откройте Excel и перейдите в «Файл».
- Выберите «Открыть», а затем «Последние книги».
- Здесь вы увидите список недавно сохраненных книг. Прокрутите вниз до конца, найдите «Восстановить несохраненные книги» и щелкните по нему.
- Появится диалоговое окно со списком несохраненных файлов Excel. Найдите нужный файл и откройте его.
- Теперь ваш файл откроется в Excel, и Excel попросит вас сохранить его. Нажмите «Сохранить как» и сохраните файл в желаемом месте.
Примечание. Все методы, упомянутые выше, предназначены для того, чтобы помочь вам получить пригодную для использования предыдущую версию файла. Однако все последние изменения, набор функций и форматирование книги Excel не сохранены.
Добавьте стандартный шрифт ко всем ячейкам и удалите цвета заливки
Однако очистка всех форматов листа может быть немного радикальным решением. Если вы предпочитаете сохранить часть форматирования в электронной таблице, лучше исправить уменьшение количества уникальных форматов ячеек. Один из лучших способов сделать это – добавить стандартизированный шрифт в электронную таблицу, чтобы все ячейки имели одинаковый шрифт.
Кроме того, удаление всех отдельных цветов заливки на листе Excel также может уменьшить количество уникальных форматов ячеек. Следуйте приведенным ниже инструкциям, чтобы стандартизировать шрифт листа и заполнить форматирование цвета.
- Выберите параметр Без заливки , чтобы удалить все цвета заливки из электронной таблицы. Тогда все ячейки электронной таблицы будут иметь один и тот же шрифт и не будут включать какое-либо форматирование цвета заливки.
Исправить ошибки в документе Excel и сохранить несохраненные файлы Excel
Примечание. Все методы, упомянутые выше, предназначены для того, чтобы помочь вам получить пригодную для использования предыдущую версию файла. Однако все последние изменения, набор функций и форматирование книги Excel не сохранены.
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Прерывание этого процесса приведет к ошибке Документ не сохранен и к тому, что один или несколько временных файлов Excel будут в папке назначения, куда вы пытаетесь сохранить. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Этот метод также работает со встроенной функцией Excel. Каждый раз, когда вы сохраняете файл в Excel, он также создает временный файл в том месте, которое вы указали в диалоговом окне «Сохранить как». Теперь, если ваш Excel перестает работать на полпути и аварийно закрывается, вы можете восстановить файл Excel с помощью этого временного файла.
Как исправить ошибку Microsoft Excel «Слишком много разных форматов ячеек»
- Самый простой способ исправить ошибку « Слишком много разных форматов ячеек » – это очистить все ячейки электронной таблицы. Для этого нажмите сочетание клавиш Ctrl + A, чтобы выделить все ячейки в электронной таблице.
- Выберите вкладку «Главная», показанную ниже.
Если сталкиваетесь с сообщением при сохранении на внешний накопитель, то, возможно поврежден или возникли проблемы с USB портом. Попробуйте переключить устройство в другой USB порт и повторить попытку.
Проверка разрешений
Во многих случаях ошибка возникает при сохранении файла Excel в каталог, на который у текущего пользователя нет полного доступа. Каждая папка имеет свои разрешения, которые обычно предоставляются администратором (или владельцем). Доступ к системным каталогам ограничивается встроенной учетной записью. Также администратор может намерено изменить разрешения на пользовательские папки.
Для изменения разрешений нужно войти в Windows под учетной записью администратора, чтобы предоставить доступ обычному пользователю.
В проводнике (Win + E) перейдите в папку, в которую пытаетесь записать документ. Сделайте шаг назад и откройте каталог, в котором вложена эта папка. Щелкните на ней правой кнопкой мыши и выберите Свойства.
На вкладке Безопасность кликните на кнопку Дополнительно.
В окне дополнительных параметров безопасности нажмите на «Изменить». Здесь изменим владельца этой папки на учетную запись пользователя.
Нажмите на Дополнительно, затем на кнопку «Найти». Отобразится список, состоящий из всех групп пользователей. Найдите свою учетную запись и кликните на «ОК». В следующем окне нажмите на «ОК».
Отметьте флажком опцию «Заменить владельца подконтейнеров и объектов», чтобы вложенные каталоги изменили принадлежность. Таким образом, не придется выполнять весь процесс повторно для существующих подкаталогов.
Нажмите «Применить» и выйдите из окна свойств. Снова откройте вкладку Безопасность и щелкните на «Дополнительно».
Отобразится окно выбора пользователей и групп. Щелкните на Дополнительно, затем на кнопку Найти. Укажите учетную запись и сохраните изменения.
Отметьте флажком опцию полного контроля и кликните на «ОК».
Отметьте флажком строку «Заменить все записи разрешений дочернего объекта наследуемыми» и кликните на «Применить».
После выполнения шагов появится полный доступ к каталогу, в который хотите сохранить таблицу.
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Для этого создайте новую таблицу Excel, затем вернитесь к документу, который не сохраняется, выделите все содержимое и скопируйте нажатием на Ctrl C. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Есть много случаев, когда не удается сохранить файл Excel в общей папке по локальной сети. Если сеть работает нестабильно, постоянно прерывается и ей свойственны большие задержки, то столкнетесь с ошибкой при сохранении.
Ошибка Экспорта Табличного Документа Документ Excel 97 не Может Содержать Более 256 Колонок
- Проблемы с оборудованием. Ошибка может возникнуть при сохранении на флешку или внешний жесткий диск, которые частично повреждены или файл не записывается из-за неполадок порта USB.
- Нестабильное подключение по сети. Если сохраняете таблицу Excel через интернет, возникают случаи, когда из-за нестабильного соединения доступ к общей папке прерывается.
- Отсутствуют разрешения на папку. Проблема возникает при сохранении документа в каталог, на который у пользователя нет разрешения на запись.
Ну и, как полагается, еще совсем зеленым я не особо понимал что и как делается.
Так что, если кто-то из Вас только начинает погружаться в удивительный мир возможностей 1С, знайте, у Вас все впереди!
Ничего страшного в незнании чего-либо НЕТ! Всегда можно найти ответ на любой вопрос и решить практически любую задачу!
-
14.01.2011, 08:58
#1
Ошибка экспорта табличного документа
Доброго времени суток!!!!
Проблема следующая, хочу сохранять счета в формате Excel, но в результате выдает ошибку «Ошибка экспорта табличного документа.Документ Excel 97 не может содержать более 256 колонок и более 65536 строк» Платформа 1С:Предприятие 8.2 (8.2.10.82).
Скрин ошибки 123.jpgПомогите пожалуйста, заранее спасибо!!!!
-
07.05.2020, 17:30
#2
Гость форума
Re: Ошибка экспорта табличного документа
Экспорт через excel 2007)
Лучше поздно чем никогда
Обновлено: 15.04.2023
Решаем две существующие проблемы 1С:Предприятия:
* медленное сохранение табличных документов в формате Microsoft Excel.
* некачественное сохранение табличных документов в формате Microsoft Excel.
Проблема 1: Медленное сохранение.
=================================
Суть состоит в том, что время, которое нужно 1С для сохранения, резко возрастает при увеличении объема сохраняемого документа. Если небольшие документы объемом до 1-2 тыс. строк 1С сохраняет еще за приемлемое время, то документы объемом выше 10 тыс. строк могут сохраняться несколько часов (или даже суток).
Данная обработка решает эти проблемы.
Скоростные характеристики.
==========================
Отчет «Анализ продаж», 18 тыс. строк: 4,46 сек.
Отчет «Анализ продаж», 78 тыс. строк: 17,23 сек.
Отчет «Анализ продаж», 184 тыс. строк: 24,44 сек.
(Для таблиц объемом больше 65536 строк сохраняется только 65536 строк — поэтому разница между временем 78 тыс. и 184 тыс. строк невелика)
Тестовая таблица 10 тыс. строк x 256 столбцов (2,5 млн. ячеек): 57,32 сек.
Для ускорения сохранения часто используется решение, известное под названием «патч Ромикса». Решение связано с модификацией кода 1С (патчем).
Отсюда вытекают основные проблемы решения:
— Проблемы при смене релиза 1С — при изменении релиза патч может перестать работать или вообще приведет к нестабильной работе 1С (аварийные завершения и возможность потери данных).
— Потенциальная ненадежность: т.к. исходных кодов 1С в открытом доступе нет, то и нет стопроцентной уверенности в корректности произведенной модификации.
Используемая в данной обработке внешняя компонента Йоксель не производит каких-либо модификаций исполняемого кода 1С, поэтому в ней отсутствуют указанные выше проблемы.
Другая проблема патча — «все равно медленно». В случае использования табличных документов со сложным форматирование сохранение все равно производится достаточно медленно. Компонента Йоксель сохраняет таблицы со сложным форматирование быстро.
Для решения проблем некачественного сохранения табличных документов в Excel часто применяют различные обработки, которые работает с Excel по технологии OLE-Automation и либо выполняют конвертирование документов полностью самостоятельно, либо сначала конвертируют документ стандартным конвертером, а потом исправляют допущенные конвертером ошибки.
Основной недостаток подобного решения: медленно. Обработки написаны на встроенном языке 1С:Предприятия и, значит, работают медленно, т.к. программный код интерпретируется. Далее, тормоза вносит использование OLE-Automation — данная технология никогда не предназначалась для обмена большими объемами данных.
Другой недостаток: необходимость наличия Excel. В связи с ужесточением ситуации с нелицензионным ПО, предприятия часто отказываются от использования Microsoft Office и переходят на свободное программное обеспечение (OpenOffice). Поэтому Excel может и отсутствовать. Также бывают ситуации, когда наличие Excel на компьютере нежелательно — например, в случае терминального сервера.
Компонента Йоксель не требует наличия Excel, поэтому может использоваться там, где Excel отсутствует. Также Йоксель написан на компилируемом языке — поэтому работает быстро.
Установка
=========
Для установки нужно следующее:
1) Если у вас еще не установлена FormEx или 1С++ версии 2.0, скопируйте компоненту FormEx (файл FormEx.dll) в каталог с программными файлами 1С (например, в каталог C:/Program Files/1Cv77/BIN).
2) Если у вас еще не установлена компонента Йоксель, скопируйте файл «SpreadSheet.dll» в каталог с программными файлами 1С (например, в каталог C:/Program Files/1Cv77/BIN).
(если нет возможности разместить внешние компоненты в каталоге программных файлов, то можно поместить компоненты в каталог информационной базы)
3) Скопируйте файл «Быстрое сохранение mxl в xls.ert» в подкаталог «ExtForms» каталога информационной базы.
4) В «Конфигураторе» добавьте на какую-нибудь панель инструментов кнопку следующего вида:
— Объект: «Задача».
— Команда: «Задача.Выполнить».
— Подсказка и короткая подсказка: «Сохранение таблицы в Excel»
— Параметры — Формула: «ОткрытьФорму («Отчет»,,КаталогИБ () + «ExtForms/Быстрое сохранение mxl в xls.ert»)»
Использование
=============
Переключитесь на табличный документ 1С, который требуется сохранить в Excel, и нажмите на созданную в Конфигураторе кнопку. В открывшейся форме укажите, куда следует сохранить табличный документ и нажмите кнопку «Сохранить».
Excel файл как Внешний источник данных 14
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа » Внешние источники данных» и назовем его просто » Excel» . https://helpf.pro/uploads/img Активация открытой книги Excel для корректировки 0
Нужно было получить для изменения уже открытую книгу Excel, а если она закрыта, то открыть и изменять. Ниже код, который данную задачу решает. Попытка Эксель = Неопределено; Книга = Неопределено; Лист = Неопределено; Состояние(» Выполняется Быстрая загрузка данных большого размера файла Excel в многомерный Массив 0
// OldthiefXXX Перем СерверExcel; Процедура КнопкаВыполнитьНажатие(Кнопка) ФайлХЛС=СерверExcel.Application.Workbooks.Open(ДокументХЛС); КонечнаяСтрокаДанных=ФайлХЛС.ActiveSheet.UsedRange.Rows.Count; КоличествоКолонокДанных=ФайлХЛС.ActiveSheet Быстрая функция чтения данных с листа Excel 9
При чтении файла Excel я использую вариантный массив. Он позволяет быстро получить ВСЮ таблицу листа в память, а также получать данные массива целыми колонками. Тем самым время на чтение области файла Excel в таблицу значений сокращается в десятки ра Вставить формулу, функцию в ячейку Excel 0
Ячейка = Лист.Cells(1,8); Ячейка.Formula=» =SUM(R11C:R C)» ; Процедура Сформировать() Перем Кат,Шаб; Ехсел=СоздатьОбъект(» Excel.Application» ); Книга=Ехсел.Workbooks; Если ФС.ВыбратьФайл(0,Кат,Шаб,» Выбери файл Еxcel» ,,» *.xls» ,)=1 Тогда Посмотреть все результаты поиска похожих
Еще в этой же категории
Как сформировать документ в Word из 1С? (Active Document) 14
ВНИМАНИЕ! При использовании кодов описанных ниже, уберите символ _ Давайте рассмотрим на примерах как это делается! =) Мне известно 2 способа: 1. Путем замены шаблонного текста в макете Wordа. 2. Путем вставки текста с помощью закладок в Wo Как в excel сохраненный из 1С вставить новый лист? 13
Я думаю, все сталкивались с однолистовым excel файлом из 1С, у которого на первый взгляд, нет возможности добавить листы. Все не так страшно — их просто скрыли или, что чаще всего — даже не отображали (обусловлено созданием файла из стороннего прил Экспорт и Импорт данных 1С — Microsoft Excel 12
Экспорт Процедура ОсновныеДействияФормыЭкспорт(Кнопка) — выгружает из указанного справочника данные в режиме экспорта в файл в формате Microsoft Excel с указанным именем, используя преобразование данных к типу число и типу строка; Процедура Основ Преобразование XLS в MXL 10
Конвертация таблиц из Excel в MXL — скачать Converter Excel v MXL: Для 8.х — Для 7.7 — // Выбор файла Microsoft Excel Procedure FileNameStartChoice(Element, StdProcessing) StdProcessing = False; DialogFile = New FileDialog(FileDialogMode. Выгрузка данных в Excel с установкой разных параметров 9
// Процедура выгружает из указанного справочника данные в режиме экспорта в файл в формате Microsoft Excel // с указанным именем, используя преобразование данных к типу число и типу строка; Процедура ОсновныеДействияФормыЭкспорт(Кнопка) Попытка Посмотреть все в категории Работа с Microsoft Office и OpenOffice
ВНИМАНИЕ! При использовании кодов описанных ниже, уберите символ _
Давайте рассмотрим на примерах как это делается! =) Мне известно 2 способа:
1. Путем замены шаблонного текста в макете Wordа.
2. Путем вставки текста с помощью закладок в Wordе,
В первом случае сразу скажу, что длина строки передаваемая в функцию замены, довольно небольшая 255 символов, да и расстановка шаблонных выражений в макете Word занимает довольно много времени. Через процедуру Content.Find.Execute.
Во втором случае длина, насколько мне известно неограниченна, также воськаться с закладками намного быстрее и удобнее, чем расставлять шаблонный текст. Используя Bookmarks().S_elect(). Поэтому давайте на коде рассмотрим второй пример.
И так, для начала необходимо добавить Word макет к документу. Добавляем макет с помощью конструктора макетов указав Active document и выбрав соответствующий макет.
Называем его Акт. Открываем макет в 1Ске, ставим курсор в нужном месте, переходим в меню Вставка закладка нажимаем добавить закладку к примеру у меня это НарушенияТекст
Теперь кидаем на форму документа кнопку Сформировать и по нажатию на нее пишем код который открывает наш макет Word ищем закладку по имени и вставляет туда текст:
Код 1C v 8.х
Это пример вывода множества строчек из табличной части одной строкой, если нужно просто выгрузить какой-то реквизит то можно пропустить часть 2 и перейти к части 3.
Для выгрузки табличной части в форме таблицы можно использовать функцию автоформата, примеру код выгрузки табличной части документа Предписание:
Код 1C v 8.х
Ну вот и все =)
Автор: saylolpls
Еще способ Active document
В Конфигураторе Макеты — правый клик — Добавить
Тип макета: Active document
Создать новый — Документ Microsoft Word
Меню Вставка — Поле — Автоматизация — DocVariable
Написать имя поля в графе «Новое имя:» ДатаПриказа
В модуле формы документа создаем кнопку, и в ее обработчике пишем:
Код 1C v 8.х
2) добавляем не поле, а Закладку
Меню Вставка — Закладка и далее указываем ее имя («ИмяЗакл»)
Код 1C v 8.х
Код 1C v 8.2 УП
в учебнике по офису написано как в 1С склеить два файла ворда?
открываешь файл. Делаешь выделить все и копируешь в новый файл. Со вторым файлом также.
Возможно, надо посмотреть команды (выдернул из макроса): Selection.WholeStory Selection.Copy Selection.PasteAndFormat (wdUseDestinationStylesRecovery)
Надо же поддерживать имидж программиста 1С! Еще вот поднатужусь и стану тупым и ленивым!:-)
спасибо. Попробую. Хочу из 1С в один файл объединить несколько таблиц с разной ориентацией.
Извращение. Мало кто программный доступ к проекту ВБА разрешает.
ага. <Форма.Форма.Форма>: Ошибка при получении значения атрибута контекста (VBProject) VBComponents = Word.ActiveDocument.VBProject.VBComponents; по причине: Произошла исключительная ситуация (Microsoft Word): Отсутствует доверие к программируемому доступу к проекту Visual
ну да разрешить ))) а иначе — юзайте MS Word Merge Tool. Но он платный.
написать по-человечески тот же макрос не варик? и я даже не говорю о том, что сам по себе макрос не особо хороший, хотя рабочий.
может и варик ). Мой вариант был симбиозом двух рецептов )
то-то я думаю, что за странный синтаксис: Word.ActiveDocument.Selection Word.ActiveDocument.Range
не работает что-то метод Selection тут Word.ActiveDocument.Selection.InsertFile(«file1.docx», «», False, False, False): Метод объекта не обнаружен (Selection)
Только при объединении двух вордовских файлов не сохраняется их ориентация: 1-й стоит Портрет, 2-й — Ландшафт. Выводит все листы в портретной ориентации.
разрыв страницы макросом делается так: а в 1С как сделать? Пробую так: MSWord.Application.Selection.InsertBreak.Type=7; выдает ошибку «Поле объекта не обнаружено (InsertBreak)»
А так? MSWord.Application.Selection.InsertBreak Только 7 — это вроде разрыв страницы, а тебе нужен разрыв раздела wdSectionBreakNextPage.
да так работает, спасибо. Но ориентацию ставит всё равно одну, первую (портрет).
Потому что надо разрыв раздела ставить (может я с номером параметра ошибся). В ворде в разных разделах может быть разная ориентация, а на разных страницах одного раздела — нет.
Да, проверил. InsertFile — просто вставляет текст из файла без сохранения ориентации. Может там параметры какие есть, навскидку попробовал параметры ConfirmConversions.
А вот если из файла 2 копипастить (Ctrl+A, Сtrl+С) и вставлять в новый раздел файла 1, то ориентация тоже копируется
Ну если ты заранее знаешь, в каком файле какая ориентация — то пойдёт. А иначе придётся извращаться. Или если в добавляемом файле будет несколько разделов с разной ориентацией.
Да хз в чем там вопрос. Объктная модель у ворда такая: Application (окно приложений с конпками меню, вобщем сам ворд) v ActiveDocument (текущий открытый документ ворда) v Range (область в документе. Свойство Selection возвращает Range, который выделил пользователь, ессно при работе с COM Selection лучше не пользоваться, а использовать непосредственно Range). Еще у Document есть коллекции Paragraphs (абзацы) и Words (отдельные слова). Элементы этих коллекций тоже имеют свойство Range.
Еще проблема: листы, у которых ориентация ландшафт широкие и при сохранении в ворд, получаю ошибку: «Ошибка экспорта табличного документа: Превышена допустимая ширина документа Word 2007» А ворде параметр — «по ширине листа не рабоает» FitToPagesWide
Читайте также:
- Как сомкнуть текст в ворде
- Как сделать текстуру кожи в фотошопе
- Kyocera product library драйвер недоступен
- Как кастомизировать fl studio 20
- 1с ркл что это