-
-
June 15 2011, 16:46
Сообщение об ошибке:
Ошибка при вызове метода контекста Rows
Подробно:
Ошибка при вызове метода контекста (Rows)
по причине:
Произошла исключительная ситуация (0x80020005)
Причина:
В качестве номера последней строки диапазона передано число, отформатированное 1С-кой (с дурацким пробелом в качестве разделителя разрядов)
Решение:
Отформатировать число, убрав разделители разрядов. Решение, впрочем, очевидное. Найти причину было сложнее.))
07.12.16 — 10:21
Как удалить диапазон строк Excel?
Пытаюсь так — не работает
Для i=0 по КоличествоСтрок-1 Цикл
a=ТЗ[i].Индекс1+2; //Получаю индекс начала диапазона (лежит в таблице значений)
b=ТЗ[i+1].Индекс1-1; //получаю индекс конца диапазона (лежит в таблице значений)
sheet.Rows(«A»+a+»:»+»A»+b).Delete();
КонецЦикла;
(«A»+a+»:»+»A»+b) в отладчике показывает как (A15:A15000) т.е. правильно
1 — 07.12.16 — 10:22
Ошибка при вызове метода контекста (Rows)
sheet.Rows(«A»+a+»:»+»A»+b).Delete();
2 — 07.12.16 — 10:25
с range вместо rows тоже не работает
3 — 07.12.16 — 10:51
Попробуй так: начни запись макроса, удали нужные ячейки, останови запись макроса. Потом по Alt-F11 перейди в модуль с макросом и посмотри синтаксис команд.
4 — 07.12.16 — 10:52
И удалить именно строки, а не значения этих строк?
Раньше получалось так:
sheet.Rows(«300:10000»).Delete
А может, Delete без скобок надо? Попробуй свой пример без скобок.
5 — 07.12.16 — 10:57
Мне макрос выдал такое:
rows(«НачальнаяСтрока:КонечнаяСтрока»).select
selection.delete shift:=xlUp
6 — 07.12.16 — 10:58
7 — 07.12.16 — 11:11
Range(«A17102:A17201»).Select
Selection.EntireRow.Delete
Вот, что выдал VBA
Без скобок нельзя
{Обработка.bzfВыгрузкаМеждународнойОтчетности.Форма.Форма.Форма(3349,25)}: Неопознанный оператор
sheet.range(ab).Select<<?>>; (Проверка: Толстый клиент (обычное приложение))
{Обработка.bzfВыгрузкаМеждународнойОтчетности.Форма.Форма.Форма(3350,35)}: Неопознанный оператор
sheet.selection.EntireRow.delete<<?>>; (Проверка: Толстый клиент (обычное приложение))
Если вбивать значения напрямую, без переменных, то работает, но мне надо через переменные
a=ТЗ[КоличествоСтрок-2-c].Индекс1+2;
b=ТЗ[КоличествоСтрок-c-1].Индекс1-1;
ab=Строка(«A»+a+»:»+»A»+b);
Sheet.Range(ab).Select();
Sheet.Selection.EntireRow.Delete();
Так пытаюсь — не работает
Произошла исключительная ситуация (0x800a03ec)
8 — 07.12.16 — 11:16
9 — 07.12.16 — 11:21
ФЫШВОФДЫВРОФЫРВЛОЫФВОЫРФВЛЫв
ФОРМАТ, МАТЬ ЕГО, ЧИСЛА
писал с пробелами
http://hkar.ru/MvEC
Сначала не обратил внимания, потом, когда (8) отправил — увидел
10 — 07.12.16 — 11:23
Всем спасибо, всего хорошего
11 — 07.12.16 — 11:28
Да. Точно. Формат числа без разделителей надо использовать.
В семерке это было естественным, а восьмерка преобразует число в строку с разделителем, если не указать иначе.
12 — 07.12.16 — 11:30
А ещё через Selection не хочет удалять, ругается, писал напрямую
Sheet.Range(ab).Delete();
marshalbratsk
13 — 07.12.16 — 11:53
(12) И так он тоже не удалял
Короче, чтобы удалить диапазон строк нужно писать следующее
Sheet.Range(«Диапазон строк»).EntireRow.Delete();
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Sargez
Дата регистрации: 21.10.2010
Сообщений: 247
«Здравствуйте!<br><br>Никак не могу понять в чем причина. ругается вот на эту строчку:<br>Лист1.Rows(ТекСтрочка+»:»+ТекСтрочка).Select();<br><br>ошибка:<br><br><br>{Форма.Форма.Форма(212)}: Ошибка при вызове метода контекста (Select)<br> Лист1.Rows(ТекСтрочка+»:»+ТекСтрочка).Select();<br>по причине:<br>Произошла исключительная ситуация (Microsoft Office Excel): Метод Select из класса Range завершен неверно<br><br>В чем проблема, подскажите, плиз?<br><br> <br>тот же самый код на платформе 8.1 работает корректно не ругается….»
Thorvardr
Дата регистрации: 25.02.2005
Сообщений: 3082
Лист1.Activate перед этим
Sargez
Дата регистрации: 21.10.2010
Сообщений: 247
хм….действительно помогло спасибо! интересно почему на 8.1 без активации все с рабатвлово….
Thorvardr
Дата регистрации: 25.02.2005
Сообщений: 3082
«Понятия не имею, вы как Лист1 связывали с листом книги Excel?<br>Вот проверил по быстрому, все работает без проблем:<br>Попытка<br> ExcelServer = СоздатьОбъект(«Excel.Application»);<br> РабочаяКнига=ExcelServer.WorkBooks.Add();<br> РабочийЛист=РабочаяКнига.Sheets(«Лист1″);<br> РабочийЛист.Rows(10).Select();<br> ExcelServer.Visible=-1;<br> ExcelServer=0;<br>Исключение<br> ExcelServer=0;<br> Сообщить(ОписаниеОшибки());<br>КонецПопытки;<br><br>P.S. У вас еще в коде ошибка, скорее всего. Полагаю, что ТекСтрочка у вас наверняка число и когда вы делаете:<br>ТекСтрочка+»:»+ТекСтрочка получается непонятно что. Это неявное преобразование типов, так делать нельзя, надо так:<br>»»»»+ТекСтрочка+»:»+ТекСтрочка<br>или как я привык:<br>Строка(ТекСтрочка)+»:»+Строка(ТекСтрочка)<br>а вообще, в Rows(…) можно одно число подавать, как в моем примере тут»
Показывать по
10
20
40
сообщений
Читают тему:
Делаю выгрузку из datagridview
в документ Word
с помощью этого кода:
string num = null;
int y = 0;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку.
if (num == null)
{
wordDocument.Range(tbl.Cell(i + 2, 2).Range.Start, tbl.Cell(i + 2, 2).Range.End).Text = dataGridView1.Rows[i].Cells["Column2"].Value.ToString();
num = dataGridView1.Rows[i].Cells["Column2"].Value.ToString();
}
else
{
if (num == dataGridView1.Rows[i].Cells["Column2"].Value.ToString())
{
y++;
//тут он не может найди запрашиваемый номер семейства
wordDocument.Range(tbl.Cell(i + 2 - y, 1).Range.Start, tbl.Cell(i + 2, 1).Range.End).Cells.Merge();
//объединение второй колонки
wordDocument.Range(tbl.Cell(i + 2 - y, 2).Range.Start, tbl.Cell(i + 2, 2).Range.End).Cells.Merge();
}
else
{//если нет, то просто заполняем данными
wordDocument.Range(tbl.Cell(i + 2, 1).Range.Start, tbl.Cell(i + 2, 1).Range.End).Text = dataGridView1.Rows[i].Cells["Column1"].Value.ToString();
wordDocument.Range(tbl.Cell(i + 2, 2).Range.Start, tbl.Cell(i + 2, 2).Range.End).Text = dataGridView1.Rows[i].Cells["Column2"].Value.ToString();
num = dataGridView1.Rows[i].Cells["Column2"].Value.ToString();
y = 0;
}
}
//заполняем остальные колонки данными
wordDocument.Range(tbl.Cell(i + 2, 3).Range.Start, tbl.Cell(i + 2, 3).Range.End).Text = dataGridView1.Rows[i].Cells["Column3"].Value.ToString();
wordDocument.Range(tbl.Cell(i + 2, 4).Range.Start, tbl.Cell(i + 2, 4).Range.End).Text = dataGridView1.Rows[i].Cells["Column4"].Value.ToString();
wordDocument.Range(tbl.Cell(i + 2, 5).Range.Start, tbl.Cell(i + 2, 5).Range.End).Text = stepennn.ShowSubText(dataGridView1.Rows[i].Cells["Column5"].Value.ToString(), dataGridView1.Rows[i].Cells["Column6"].Value.ToString());
wordDocument.Range(tbl.Cell(i + 2, 6).Range.Start, tbl.Cell(i + 2, 6).Range.End).Text = dataGridView1.Rows[i].Cells["Column6"].Value.ToString();
wordDocument.Range(tbl.Cell(i + 2, 7).Range.Start, tbl.Cell(i + 2, 7).Range.End).Text = dataGridView1.Rows[i].Cells["Column7"].Value.ToString();
}
Делаю объединение строк в первой и во второй колонке. Если убрать объединение ячеек в первой колонке, то всё работает как надо. Во второй колонке объединение происходит нормально, а на первой происходит ошибка — Запрашиваемый номер семейства не существует. По логике всё должно работать, но чё то не могу додумать что не так
На третьем цикле происходит ошибка
Маленький пример
private void button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
var doc =word.Documents.Open( @"C:1.docx", ReadOnly: true);
word.Visible = true;
object missing = Type.Missing;
Microsoft.Office.Interop.Word.Table tbl = word.ActiveDocument.Tables[1];
tbl.Borders.Enable = 1;
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку
doc.Range(tbl.Cell(2, 2).Range.Start, tbl.Cell(4, 2).Range.End).Cells.Merge();
doc.Range(tbl.Cell(2, 3).Range.Start, tbl.Cell(3, 3).Range.End).Cells.Merge();
}
Заголовок таблицы тот же. В итоге результат тот же, при объединении ячеек в соседней колонке так же пишет — запрашиваемый номер семейства не существует.
Почему так, не пойму
Falex
16.11.09 — 21:07
Платформа пишет такую ошибку:
Ошибка при вызове метода контекста (Item): Произошла исключительная ситуация (Microsoft Word): Запрашиваемый номер семейства не существует.
Макет=ПолучитьМакет(«Макет»);
MSWord = Макет.Получить();
Попытка
Шаблон = MSWord.Application.Documents(1);
Шаблон.Activate();
…
Таблица = Шаблон.Tables.Item(1);
Эта обработка на моем компьютере отрабатывает. По отладчику посмотрел на другом компьютере (где не работает): количество таблиц равно нулю. На всякий случай нарисовал прямо на данном компьютере еще одну таблицу в ActiveDocument. И все равно количество таблицу в документе равно нулю.
Что может быть не так?
Falex
1 — 16.11.09 — 21:07
вылетает на этом месте:
Таблица = Шаблон.Tables.Item(1);
dk
2 — 16.11.09 — 21:15
видимо шаблон переаполняется
Лефмихалыч
3 — 16.11.09 — 21:23
а может нет там в этой коллекции элементов? Посмотри Шаблон.Tables.Count
Falex
4 — 16.11.09 — 21:24
всмысле шаблон перезаполняется?
так я и смотрю Шаблон.Tables.Count()
Он равен нулю.
Тьма
5 — 16.11.09 — 21:27
MSWord.Application.Documents().Count() — сколько?
Falex
6 — 16.11.09 — 21:27
причем я сделал еще так: взял скопировал свой шаблон в doc файл. скопировал его на тот компьютер. загрузил в activedocument. та же ерунда.
Falex
7 — 16.11.09 — 21:29
MSWord.Application.Documents().Count() = 1
Falex
8 — 16.11.09 — 21:30
причем у меня что закомментировано тоже не проходит, а проходит иначе
//Шаблон.Fields.item(1).Result.Text = Формат(Дата, «ДЛФ=D»)+» г.»;
Замена = Шаблон.Content.Find;
Замена.Execute(«[Дата]», Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(Дата, «ДЛФ=D»)+» г.»);
dk
9 — 16.11.09 — 21:35
Шаблон = MSWord.Application.Documents(1);
Шаблон.Tables.Count()
—
что говорит?
Falex
10 — 16.11.09 — 21:44
говорит 0
Falex
11 — 16.11.09 — 21:45
а у меня говорит 2 (сколько и есть на самом деле)
Falex
12 — 16.11.09 — 21:46
ЗЫ: базы одинаковые, но тестируются на разных машинах.
dk
13 — 16.11.09 — 21:52
версии МС офиса одинаковые?
Falex
14 — 16.11.09 — 21:53
и там и там 2007. СОхраняю для надежности в 2003.
dk
15 — 16.11.09 — 21:57
значит не тот макет
Falex
16 — 16.11.09 — 21:58
всмысле не тот макет?
Falex
17 — 16.11.09 — 22:00
попробовал иначе: прямо на том компьютере в конфигураторе создал макет (activedocument). Нарисовал 2 таблицы.Проверил количество таблиц при выводе: оно опять равно нулю.
Тьма
18 — 16.11.09 — 22:08
Ковычки
19 — 16.11.09 — 22:09
визибле=-1
Ковычки
20 — 16.11.09 — 22:14
+ выкинуть попытку
Falex
21 — 16.11.09 — 22:19
это что за ссылка?
Что попробовать?
Шаблон.Visible = -1;???
Тьма
22 — 16.11.09 — 22:21
Falex
23 — 16.11.09 — 22:28
блин.
Система в настоящее время не доступна. Пожалуйста попытайтесь позже или свяжитесь с службой поддержки, если Вам необходима срочная помощь.http://support.microsoft.com/contactus/?ws=support
Falex
24 — 16.11.09 — 22:37
как всегда майкрософт подводит ((
Falex
25 — 17.11.09 — 16:18
не работает (
Материал из AutoPark
Перейти к: навигация,
поиск
Содержание
- 1 Функционирование
- 1.1 Именование переменных документа
- 1.2 Многострочные части
- 1.3 Изображения
- 2 Режимы работы с Word
- 2.1 Обычный режим
- 2.2 Режим разработки шаблона
- 2.2.1 Особенности
- 2.3 Публикация шаблона
- 3 Как заказать новый Word-отчёт
- 4 Создание пользовательского шаблона
- 5 Некоторые особенности использования MS Word
- 6 Известные проблемы
- 6.1 При выгрузке в Word возникает ошибка «Запрашиваемый номер семейства не существует»
- 6.2 При выгрузке в Word возникает ошибка «Приложению Word не удалось запустить конвертер mswrd632»
- 6.3 При выгрузке в Word появляется ошибка «Вызов был отклонен»
- 6.4 При выгрузке в Word появляется ошибка «Неверно указана единица измерения»
- 7 Процедура настройки шаблона
Функционирование
MS Word — текстовый процессор. Обычно входит в состав пакета офисных программ MS Office. Система АвтоПарк поддерживает формирование отчетных форм с использованием MS Word.
Обратите внимание: версия MS Word, пригодная для использования в Системе АвтоПарк — не ниже MS Word 2000.
Данные в Word АвтоПарк передаёт путём создания в документе набора переменных и присваивания им значений. Для управления отображением данных в шаблоне документа используются поля. Более подробно о том, что такое поля и переменные документа, смотрите в справочной системе Word. Начальные сведения содержатся в статьях «О полях», «Коды полей: DOCVARIABLE».
Разрабатываемые и поддерживаемые разработчиком шаблоны находятся в каталогах:
- AutoPark$_LIBDOT — системные шаблоны
- AutoParkDOT — локальные шаблоны
Именование переменных документа
Основные принципы на примерах.
- Staff.TSN, Post.Name — переменные документа имеют названия в соответствии с наименованием полей файлов базы данных. Список файлов и их полей открывается в АвтоПарке по комбинации клавиш Ctrl+F10.
- Officer.Sort.Name — переменные могут содержать в наименовании, как наименование основного файла, так и файла — справочника (Поле Name из записи файла Sort, соответствующей записи файла Officer).
- OrderL[2].Sort.Name — в случае, когда подготавливаются переменные по нескольким записям в файле БД, после имени файла добавляется индекс (наименование сектора, соответствующего второй строке приказа). Важно знать: строки нумеруются, начиная с 0.
- Staff.BegDate.Month, Man.Name.Short — в переменной содержится модифицированное значение поля (только месяц из даты приёма, ФИО с инициалами вместо имени и отчества).
- OwnFirm.RegName, OwnFirm.AcntName — всегда создаётся набор переменных с префиксом OwnFirm, содержащих различные данные о Вашем предприятии (Наименование предприятия, ФИО главного бухгалтера).
- Math.BalCost — если значение переменной не берётся из какого-то конкретного поля, а вычисляется, то наименование передаёт смысл значения (балансовая стоимость объекта).
Многострочные части
Если отчётная форма содержит одну или несколько многострочных частей, следует учитывать следующие особенности:
Подлежащая тиражированию часть документа должна быть помечена закладкой. Имя закладки определено в программе подготовки документа.
В наименовании переменных при тиражировании индексом строки считается первый встречающийся нулевой индекс в наименовании переменных. При добавлении каждой новой строки индекс увеличивается на единицу.
Если тиражируемая часть является набором строк таблицы Word, закладкой должны быть помечены и символы окончания строки (в режиме отображения непечатных символов выглядит как ¤).
Если предусмотренную шаблоном таблицу требуется продублировать или разбить на две (например, часть столбцов перенести на другую страницу), для каждой из таблиц должна быть установлена закладка. Дополнительным закладкам следует дать имя основной закладки с добавлением «_1» или «_2».
Изображения
Если в отчётной форме предусмотрена вставка изображений (например, фотография работника), то место для вставки изображения отмечается закладкой. В случае, если одно изображение требуется вставить в несколько мест документа, то дополнительным закладкам следует дать имя основной закладки с добавлением цифры от 1 до 9 (например, если АвтоПарк выводит фото работника в шаблон в закладку «Face», то добавление закладок «Face1», «Face7» приведёт к выводу такого же фото и в места, отмеченные этими закладками).
Разные режимы применяются на разных этапах работы с шаблонами. Изменяется режим через пункт меню «Сервис — Администратор — Настройка системного окружения — … для работы с шаблонами MS Word — Разработка шаблонов CtrlW». Изменение режима доступно только АДМИНИСТРАТОРУ.
Существует три режима работы с Word:
Обычный режим
Используется для подготовки документов на основе шаблона. При старте АвтоПарка режим всегда обычный.
При создании отчётной формы АвтоПарк выполняет следующие операции: создаёт документ Word на основе соответствующего шаблона, создаёт в документе необходимые переменные, присваивает им значения, обновляет все поля документа, отправляет документ на печать либо (в зависимости от выбора пользователя) сохраняет его и открывает для редактирования.
Также в некоторых документах производится тиражирование многострочной части и вставка графических изображений.
Режим разработки шаблона
Используется для облегчения модификации пользовательских шаблонов. Отличается от обычного тем, что создаёт резервную копию шаблона, открывает сам шаблон, а не документ на его основе, выгружает все переменные, а не только необходимые, а также не тиражирует многострочные части и не вставляет графические изображения.
Открытый шаблон содержит все переменные, подготавливаемые АвтоПарком. Для того, чтобы определить наименование именно той переменной, которую Вы желали бы вывести в отчётной форме, прежде всего стоит посмотреть в шаблонах, подобных разрабатываемому. Кроме того, во время разработки шаблона можно выбрать режим с выгрузкой полного списка переменных этого шаблона. Если переменной, которую Вы желали бы вывести в отчётной форме, нет в шаблоне, следует оформить ТТ на формирование такой переменной.
Особенности
- В режиме разработки графические изображения в шаблон не выгружаются и, соответственно, не видны.
Публикация шаблона
Используется для окончательного оформления пользовательского шаблона, подготовленного в режиме разработки или другим способом. Внимание! Работа в «обычном режиме» (печать на принтер, печать в файл) с неопубликованным пользовательским шаблоном невозможна!
Сразу после установки режима предлагается выбрать шаблон для публикации.
С выбранного шаблона делается резервная копия, затем удаляются неиспользуемые в шаблоне переменные, значения используемых заменяются на символы «X» и «0», после чего шаблон сохраняется, а режим работы с Word возвращается в прежнее значение.
Повторно опубликовать шаблон безвредно.
Как заказать новый Word-отчёт
- В случае если Вам необходим какой-либо отчёт, его необходимо заказать, используя стандартную форму оформления технического требования.
- Если по каким-либо причинам Вам необходимо, чтобы отчёт готовился с использованием MS Word, следует отразить данный факт в ТТ. В ТТ следует отразить, какие данные должны быть выгружены в Word, а также приложить к нему проект шаблона отчёта, выполненный в виде шаблона Word.
Создание пользовательского шаблона
Существует возможность пользователю самостоятельно дорабатывать и изменять готовую отчетную форму MS-Word.
При использовании такого шаблона АвтоПарк подготавливает набор переменных документа в обычном режиме, но формирование выходной формы происходит на основе пользовательского шаблона. Это позволяет использовать нестандартные формы вместо подготавливаемых АвтоПарком.
Может быть две причины самостоятельной модификации выходных форм:
- Данная форма изначально изготавливается самим пользователем (к этому относятся, например, шаблоны текстов договоров, дополнительных соглашений и т.п.). Согласно п. 2.9 договора на сопровождение системы АвтоПарк: «При реализации готовой настраиваемой или свободной выходной формы, Исполнитель, кроме изменений прикладного программного обеспечения, реализует также образец выходной формы стандартными программными средствами. Дальнейшие технические требования по изменению выходной формы, реализованной как готовая настраиваемая или свободная, могут выдаваться Заказчиком только в части факторов, которые определяются программным обеспечением Системы, в соответствии с положениями пункта 1.2.12.4 настоящего договора. Изменения таких выходных форм в части факторов, которые определяются стандартными программными средствами, в стоимость настоящего договора не входят». Это означает, что пользователи самостоятельно разрабатывают собственные формы на основании предоставленных образцов, но в случае, например, изменения внутренней структуры формы, разработчики окажут помощь в поддержке работоспособности таких форм.
- Пользователь самостоятельно вносит изменения в стандартный вид выходной формы. Чаще всего такие формы изготавливаются из-за того, что на предприятии принят вид формы, либо не отвечающий требованиям нормативных документов, либо содержащий лишнюю и ненужную в этих формах информацию (например, если на Вашем предприятии используется форма приказа о приёме на работу, отличная от стандартной формы T-1).
Следует осознавать, что в случае изменения состава стандартно подготавливаемых переменных или необходимого вида отчётной формы может возникать необходимость вносить изменения в пользовательский шаблон. В случае использования собственного шаблона это придётся делать самостоятельно, причем «внезапно». Исходя из этого, изготавливать собственные версии стандартных выходных форм следует очень аккуратно.
Некоторые особенности использования MS Word
Для корректной автоматической нумерации страниц в формах, при печати необходимо выставить «галочку» в меню «Сервис» — «Параметры», закладка «Печать», группа «Режим», пункт «обновлять поля».
Известные проблемы
При выгрузке в Word возникает ошибка «Запрашиваемый номер семейства не существует»
- Обычно это возникает в случае, когда до выполнения операции на компьютере случилось ненормальное завершение MS Word (Word «вылетел» в процессе работы, либо выгрузка из АвтоПарк была прервана пользователем). Исправляется перезагрузкой компьютера.
- В случае, когда ошибка проявляется всегда и перезагрузка не помогает, проблема в самом MS Word. Исправление: если MS Office версии 2002 и 2003 — может помочь установка Service Pack 3, иначе переустановка MS Office.
При выгрузке в Word возникает ошибка «Приложению Word не удалось запустить конвертер mswrd632»
- Следует выполнить рекомендации корпорации Microsoft, изложенные в этой статье.
При выгрузке в Word появляется ошибка «Вызов был отклонен»
Возможные причины:
- В уже открытом у вас Word был активный диалог. Закрыть диалог в Word и попробовать снова.
- Не хватило системных ресурсов (много уже открытых Excel и Word). Позакрывать и повторить попытку.
- Сбой в Windows или Word. Перезагрузить компьютер, если не помогает — обратиться к администратору.
При выгрузке в Word появляется ошибка «Неверно указана единица измерения»
Возникает если в региональных настройках изменить разделитель целой и дробной части с запятой на точку.
Для устранения ошибки: открываем Microsoft Office Word далее Сервис — Настройка — Команды — Упорядочить команды — выбрать Панель инструментов — в ней Форматирование — в Элементах встать на Межстрочный интервал — Удалить — Закрыть — Закрыть — закрыть Microsoft Office Word.
Процедура настройки шаблона
- Зарегистрироваться АДМИНИСТРАТОРОМ.
- Сохранить копию имеющегося шаблона.
- Запустить АвтоПарк.
- Установить режим разработки.
- Выполнить пункт АвтоПарка, который в обычном режиме подготавливает либо печатает отчётную форму.
- Внести требуемые изменения в шаблон.
- Сохранить шаблон.
- Повторить пункты 5 — 7 пока не будет достигнуто желаемое.
- Установить режим публикации и выбрать нужный шаблон.
- Установить обычный режим.
- Зарегистрироваться обычным пользователем.
- Примечания
-
- Перед тем, как начать работу с шаблоном в режиме публикации или разработки, программе необходимо снять с файла шаблона атрибут «только для чтения». Если шаблон в этот момент используется другим пользователем, появляется сообщение «Ошибка при установке атрибутов файла». В этом случае можно попробовать подождать некоторое время и нажать «повторить», так как есть вероятность, что файл быстро освободится.
Такое же сообщение может возникнуть, когда после публикации шаблона программа пытается установить атрибут «только для чтения». На этом этапе работы программы шаблон уже полностью подготовлен, и отмена не вернёт его в исходное состояние. Чтобы установить атрибут «только для чтения» в этом случае можно либо воспользоваться обычными средствами, либо повторно выполнить процедуру публикации шаблона.
- Перед тем, как начать работу с шаблоном в режиме публикации или разработки, программе необходимо снять с файла шаблона атрибут «только для чтения». Если шаблон в этот момент используется другим пользователем, появляется сообщение «Ошибка при установке атрибутов файла». В этом случае можно попробовать подождать некоторое время и нажать «повторить», так как есть вероятность, что файл быстро освободится.
-
- Если не существует каталог DOTBY_USER, создать его.
Если этот каталог не указан в RED-файле, указать его (должен быть самым первым в перечне месте хранения):
- *.dot = dotby_user;dottmp_lib;dot;$_libdotap;$_libdotsys.
- Если не существует каталог DOTBY_USER, создать его.
Проблема
При попытке использовать Microsoft Visual Basic for Applications (VBA) для изменения свойств документа появляется одно из приведенных ниже сообщений об ошибке.
Ошибка при выполнении ‘4248’:
Команда недоступна, так как нет открытых документов
Ошибка при выполнении ‘4605’:
Метод или свойство недоступны, поскольку окно документа не активно
или
Ошибка при выполнении ‘5941’:
Запрашиваемый номер семейства не существует
Причина
Проблема возникает, когда нет открытых документов или не открыт документ, на который сделана ссылка. В программе Word предусмотрено изменение свойств только открытых документов.
Примечание. Такие сообщения об ошибках могут появиться также в том случае, если открыт документ, у которого свойство Видимый имеет значение Ложь.
Временное решение
Корпорация Microsoft предлагает примеры программного кода только для иллюстрации и не предоставляет явных или подразумеваемых гарантий относительно их корректной работы в конкретных случаях и в пользовательских приложениях. Примеры в данной статье рассчитаны на пользователя, имеющего достаточный уровень знаний соответствующего языка программирования, а также необходимых средств разработки и отладки. Специалисты служб технической поддержки Microsoft могут пояснить назначение тех или иных конструкций кода в конкретном примере, но модификация примеров и их адаптация к задачам разработчика не поддерживается. Если вам требуется дополнительная консультация по вопросам программирования, вы можете обратиться в службу консалтинга Microsoft или связаться с сертифицированными партнерами компании Microsoft. Дополнительную информацию о партнерах корпорации Microsoft можно найти в Интернете по следующему адресу:
http://www.microsoft.com/partner/referral/ За дополнительной информацией обратитесь к веб-узле корпорации Microsoft по адресу:
http://support.microsoft.com/default.aspx?scid=fh;RU;CNTACTMSЗа дополнительной информацией об использовании приведенных в этой статье примеров обратитесь к следующей статье Microsoft Knowledge Base:
290140 How to Run Sample Code from Knowledge Ниже приведен пример макроса на языке Visual Basic for Applications для изменения значения поля Заголовок в диалоговом окне Свойства. Пример содержит специальный программный код для перехвата ошибок на случай, если нет открытых документов, и вывода соответствующего сообщения.
Sub ChangeDocProperties()On Error GoTo ErrHandler
ActiveDocument.BuiltInDocumentProperties("Title") = "My Title"
Exit SubErrHandler:
If Err <> 0 Then
'
' Display an error message.
'
MsgBox Err.Description
'
' Clear the error.
'
Err.Clear
Resume NextEnd If
End Sub
Приведенный ниже программный код предусмотрен для выполнения следующих целей.
-
Перехват ошибок, если нет открытых документов
и
-
Создание нового документа при перехвате ошибки
и
-
Возобновление нормальной работы в строке, вызвавшей появление ошибки
Sub ChangeDocProperties()On Error GoTo ErrHandler
ActiveDocument.BuiltInDocumentProperties("Title") = "My Title"
Exit SubErrHandler:
If Err <> 0 Then
'
' Add a document.
'
Documents.Add
'
' Clear the error.
'
Err.Clear
'
' Run the code that caused the error.
'
ResumeEnd If
End Sub
Ссылки
Для получения помощи по работе с Visual Basic обратитесь к следующей статье Microsoft Knowledge Base:
305326 Programming Resources for Visual Basic for Applications
Нужна дополнительная помощь?
roslova 0 / 0 / 0 Регистрация: 11.12.2018 Сообщений: 3 |
||||
1 |
||||
Word 11.12.2018, 21:03. Показов 25411. Ответов 4 Метки vba, макрос (Все метки)
Всем привет. я не программист и у меня такая проблема: писала довольно простой макрос для создания формулы с автоматической нумерацией в ворде (чтобы формула не «съезжала» влево). вроде создаю сам макрос, но когда хочу добавить его на панель быстрого доступа, вылезает ошибка: «ошибка 5941: «запрашиваемый номер семейства не существует». текст в VisualB такой:
и я понятия не имею, что надо исправить… __________________ 0 |
oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
|
11.12.2018, 21:08 |
2 |
судя по всему вы какой -то шаблон пытаетесь запустить 0 |
74 / 7 / 2 Регистрация: 15.11.2018 Сообщений: 72 |
|
11.12.2018, 21:13 |
3 |
https://support.microsoft.com 0 |
oh my god 1454 / 793 / 161 Регистрация: 05.01.2016 Сообщений: 2,307 Записей в блоге: 8 |
|
11.12.2018, 21:16 |
4 |
Видимый имеет значение Ложь. защиту от дурака надо убрать )) 0 |
0 / 0 / 0 Регистрация: 11.12.2018 Сообщений: 3 |
|
12.12.2018, 08:52 [ТС] |
5 |
вот по этому видео пыталась сделать нумерацию. не вышло. сама формула в уравнениях имеется, а в маркрос ее не удается сделать. спасибо всем за наводки по решению проблемы 0 |
Делаю выгрузку из datagridview
в документ Word
с помощью этого кода:
string num = null;
int y = 0;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку.
if (num == null)
{
wordDocument.Range(tbl.Cell(i + 2, 2).Range.Start, tbl.Cell(i + 2, 2).Range.End).Text = dataGridView1.Rows[i].Cells["Column2"].Value.ToString();
num = dataGridView1.Rows[i].Cells["Column2"].Value.ToString();
}
else
{
if (num == dataGridView1.Rows[i].Cells["Column2"].Value.ToString())
{
y++;
//тут он не может найди запрашиваемый номер семейства
wordDocument.Range(tbl.Cell(i + 2 - y, 1).Range.Start, tbl.Cell(i + 2, 1).Range.End).Cells.Merge();
//объединение второй колонки
wordDocument.Range(tbl.Cell(i + 2 - y, 2).Range.Start, tbl.Cell(i + 2, 2).Range.End).Cells.Merge();
}
else
{//если нет, то просто заполняем данными
wordDocument.Range(tbl.Cell(i + 2, 1).Range.Start, tbl.Cell(i + 2, 1).Range.End).Text = dataGridView1.Rows[i].Cells["Column1"].Value.ToString();
wordDocument.Range(tbl.Cell(i + 2, 2).Range.Start, tbl.Cell(i + 2, 2).Range.End).Text = dataGridView1.Rows[i].Cells["Column2"].Value.ToString();
num = dataGridView1.Rows[i].Cells["Column2"].Value.ToString();
y = 0;
}
}
//заполняем остальные колонки данными
wordDocument.Range(tbl.Cell(i + 2, 3).Range.Start, tbl.Cell(i + 2, 3).Range.End).Text = dataGridView1.Rows[i].Cells["Column3"].Value.ToString();
wordDocument.Range(tbl.Cell(i + 2, 4).Range.Start, tbl.Cell(i + 2, 4).Range.End).Text = dataGridView1.Rows[i].Cells["Column4"].Value.ToString();
wordDocument.Range(tbl.Cell(i + 2, 5).Range.Start, tbl.Cell(i + 2, 5).Range.End).Text = stepennn.ShowSubText(dataGridView1.Rows[i].Cells["Column5"].Value.ToString(), dataGridView1.Rows[i].Cells["Column6"].Value.ToString());
wordDocument.Range(tbl.Cell(i + 2, 6).Range.Start, tbl.Cell(i + 2, 6).Range.End).Text = dataGridView1.Rows[i].Cells["Column6"].Value.ToString();
wordDocument.Range(tbl.Cell(i + 2, 7).Range.Start, tbl.Cell(i + 2, 7).Range.End).Text = dataGridView1.Rows[i].Cells["Column7"].Value.ToString();
}
Делаю объединение строк в первой и во второй колонке. Если убрать объединение ячеек в первой колонке, то всё работает как надо. Во второй колонке объединение происходит нормально, а на первой происходит ошибка — Запрашиваемый номер семейства не существует. По логике всё должно работать, но чё то не могу додумать что не так
На третьем цикле происходит ошибка
Маленький пример
private void button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
var doc =word.Documents.Open( @"C:1.docx", ReadOnly: true);
word.Visible = true;
object missing = Type.Missing;
Microsoft.Office.Interop.Word.Table tbl = word.ActiveDocument.Tables[1];
tbl.Borders.Enable = 1;
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку
tbl.Rows.Add(ref missing);//Добавляем в таблицу строку
doc.Range(tbl.Cell(2, 2).Range.Start, tbl.Cell(4, 2).Range.End).Cells.Merge();
doc.Range(tbl.Cell(2, 3).Range.Start, tbl.Cell(3, 3).Range.End).Cells.Merge();
}
Заголовок таблицы тот же. В итоге результат тот же, при объединении ячеек в соседней колонке так же пишет — запрашиваемый номер семейства не существует.
Почему так, не пойму
ddmitriy 16.11.09 — 21:07 Платформа пишет такую ошибку: Ошибка при вызове метода контекста (Item): Произошла исключительная ситуация (Microsoft Word): Запрашиваемый номер семейства не существует. Макет=ПолучитьМакет(«Макет»); MSWord = Макет.Получить(); Попытка Шаблон = MSWord.Application.Documents(1); Шаблон.Activate(); … Таблица = Шаблон.Tables.Item(1); Эта обработка на моем компьютере отрабатывает. По отладчику посмотрел на другом компьютере (где не работает): количество таблиц равно нулю. На всякий случай нарисовал прямо на данном компьютере еще одну таблицу в ActiveDocument. И все равно количество таблицу в документе равно нулю. Что может быть не так? Falex 1 — 16.11.09 — 21:07 вылетает на этом месте: Таблица = Шаблон.Tables.Item(1); dk 2 — 16.11.09 — 21:15 видимо шаблон переаполняется Лефмихалыч 3 — 16.11.09 — 21:23 а может нет там в этой коллекции элементов? Посмотри Шаблон.Tables.Count Falex 4 — 16.11.09 — 21:24 всмысле шаблон перезаполняется? так я и смотрю Шаблон.Tables.Count() Он равен нулю. Тьма 5 — 16.11.09 — 21:27 MSWord.Application.Documents().Count() — сколько? Falex 6 — 16.11.09 — 21:27 причем я сделал еще так: взял скопировал свой шаблон в doc файл. скопировал его на тот компьютер. загрузил в activedocument. та же ерунда. Falex 7 — 16.11.09 — 21:29 MSWord.Application.Documents().Count() = 1 Falex 8 — 16.11.09 — 21:30 причем у меня что закомментировано тоже не проходит, а проходит иначе //Шаблон.Fields.item(1).Result.Text = Формат(Дата, «ДЛФ=D»)+» г.»; Замена = Шаблон.Content.Find; Замена.Execute(«[Дата]», Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(Дата, «ДЛФ=D»)+» г.»); dk 9 — 16.11.09 — 21:35 Шаблон = MSWord.Application.Documents(1); Шаблон.Tables.Count() — что говорит? Falex 10 — 16.11.09 — 21:44 говорит 0 Falex 11 — 16.11.09 — 21:45 а у меня говорит 2 (сколько и есть на самом деле) Falex 12 — 16.11.09 — 21:46 ЗЫ: базы одинаковые, но тестируются на разных машинах. dk 13 — 16.11.09 — 21:52 версии МС офиса одинаковые? Falex 14 — 16.11.09 — 21:53 и там и там 2007. СОхраняю для надежности в 2003. dk 15 — 16.11.09 — 21:57 значит не тот макет Falex 16 — 16.11.09 — 21:58 всмысле не тот макет? Falex 17 — 16.11.09 — 22:00 попробовал иначе: прямо на том компьютере в конфигураторе создал макет (activedocument). Нарисовал 2 таблицы.Проверил количество таблиц при выводе: оно опять равно нулю. Тьма 18 — 16.11.09 — 22:08 Ковычки 19 — 16.11.09 — 22:09 визибле=-1 Ковычки 20 — 16.11.09 — 22:14 + выкинуть попытку Falex 21 — 16.11.09 — 22:19 это что за ссылка? Что попробовать? Шаблон.Visible = -1;??? Тьма 22 — 16.11.09 — 22:21 Falex 23 — 16.11.09 — 22:28 блин. Система в настоящее время не доступна. Пожалуйста попытайтесь позже или свяжитесь с службой поддержки, если Вам необходима срочная помощь.http://support.microsoft.com/contactus/?ws=support Falex 24 — 16.11.09 — 22:37 как всегда майкрософт подводит (( Falex 25 — 17.11.09 — 16:18 не работает ( Материал из AutoPark Перейти к: навигация, Содержание
ФункционированиеMS Word — текстовый процессор. Обычно входит в состав пакета офисных программ MS Office. Система АвтоПарк поддерживает формирование отчетных форм с использованием MS Word. Данные в Word АвтоПарк передаёт путём создания в документе набора переменных и присваивания им значений. Для управления отображением данных в шаблоне документа используются поля. Более подробно о том, что такое поля и переменные документа, смотрите в справочной системе Word. Начальные сведения содержатся в статьях «О полях», «Коды полей: DOCVARIABLE». Разрабатываемые и поддерживаемые разработчиком шаблоны находятся в каталогах:
Именование переменных документаОсновные принципы на примерах.
Многострочные частиЕсли отчётная форма содержит одну или несколько многострочных частей, следует учитывать следующие особенности: Если тиражируемая часть является набором строк таблицы Word, закладкой должны быть помечены и символы окончания строки (в режиме отображения непечатных символов выглядит как ¤). Если предусмотренную шаблоном таблицу требуется продублировать или разбить на две (например, часть столбцов перенести на другую страницу), для каждой из таблиц должна быть установлена закладка. Дополнительным закладкам следует дать имя основной закладки с добавлением «_1» или «_2». ИзображенияЕсли в отчётной форме предусмотрена вставка изображений (например, фотография работника), то место для вставки изображения отмечается закладкой. В случае, если одно изображение требуется вставить в несколько мест документа, то дополнительным закладкам следует дать имя основной закладки с добавлением цифры от 1 до 9 (например, если АвтоПарк выводит фото работника в шаблон в закладку «Face», то добавление закладок «Face1», «Face7» приведёт к выводу такого же фото и в места, отмеченные этими закладками). Разные режимы применяются на разных этапах работы с шаблонами. Изменяется режим через пункт меню «Сервис — Администратор — Настройка системного окружения — … для работы с шаблонами MS Word — Разработка шаблонов CtrlW». Изменение режима доступно только АДМИНИСТРАТОРУ. Существует три режима работы с Word: Обычный режимИспользуется для подготовки документов на основе шаблона. При старте АвтоПарка режим всегда обычный. При создании отчётной формы АвтоПарк выполняет следующие операции: создаёт документ Word на основе соответствующего шаблона, создаёт в документе необходимые переменные, присваивает им значения, обновляет все поля документа, отправляет документ на печать либо (в зависимости от выбора пользователя) сохраняет его и открывает для редактирования. Также в некоторых документах производится тиражирование многострочной части и вставка графических изображений. Режим разработки шаблонаИспользуется для облегчения модификации пользовательских шаблонов. Отличается от обычного тем, что создаёт резервную копию шаблона, открывает сам шаблон, а не документ на его основе, выгружает все переменные, а не только необходимые, а также не тиражирует многострочные части и не вставляет графические изображения. Открытый шаблон содержит все переменные, подготавливаемые АвтоПарком. Для того, чтобы определить наименование именно той переменной, которую Вы желали бы вывести в отчётной форме, прежде всего стоит посмотреть в шаблонах, подобных разрабатываемому. Кроме того, во время разработки шаблона можно выбрать режим с выгрузкой полного списка переменных этого шаблона. Если переменной, которую Вы желали бы вывести в отчётной форме, нет в шаблоне, следует оформить ТТ на формирование такой переменной. Особенности
Публикация шаблонаИспользуется для окончательного оформления пользовательского шаблона, подготовленного в режиме разработки или другим способом. Внимание! Работа в «обычном режиме» (печать на принтер, печать в файл) с неопубликованным пользовательским шаблоном невозможна! Сразу после установки режима предлагается выбрать шаблон для публикации. С выбранного шаблона делается резервная копия, затем удаляются неиспользуемые в шаблоне переменные, значения используемых заменяются на символы «X» и «0», после чего шаблон сохраняется, а режим работы с Word возвращается в прежнее значение. Повторно опубликовать шаблон безвредно. Как заказать новый Word-отчёт
Создание пользовательского шаблонаСуществует возможность пользователю самостоятельно дорабатывать и изменять готовую отчетную форму MS-Word. Может быть две причины самостоятельной модификации выходных форм:
Следует осознавать, что в случае изменения состава стандартно подготавливаемых переменных или необходимого вида отчётной формы может возникать необходимость вносить изменения в пользовательский шаблон. В случае использования собственного шаблона это придётся делать самостоятельно, причем «внезапно». Исходя из этого, изготавливать собственные версии стандартных выходных форм следует очень аккуратно. Некоторые особенности использования MS WordДля корректной автоматической нумерации страниц в формах, при печати необходимо выставить «галочку» в меню «Сервис» — «Параметры», закладка «Печать», группа «Режим», пункт «обновлять поля». Известные проблемыПри выгрузке в Word возникает ошибка «Запрашиваемый номер семейства не существует»
При выгрузке в Word возникает ошибка «Приложению Word не удалось запустить конвертер mswrd632»
При выгрузке в Word появляется ошибка «Вызов был отклонен»Возможные причины:
При выгрузке в Word появляется ошибка «Неверно указана единица измерения»Возникает если в региональных настройках изменить разделитель целой и дробной части с запятой на точку. Для устранения ошибки: открываем Microsoft Office Word далее Сервис — Настройка — Команды — Упорядочить команды — выбрать Панель инструментов — в ней Форматирование — в Элементах встать на Межстрочный интервал — Удалить — Закрыть — Закрыть — закрыть Microsoft Office Word. Процедура настройки шаблона
ПроблемаПри попытке использовать Microsoft Visual Basic for Applications (VBA) для изменения свойств документа появляется одно из приведенных ниже сообщений об ошибке. Ошибка при выполнении ‘4248’: Команда недоступна, так как нет открытых документов Ошибка при выполнении ‘4605’: или Ошибка при выполнении ‘5941’: ПричинаПроблема возникает, когда нет открытых документов или не открыт документ, на который сделана ссылка. В программе Word предусмотрено изменение свойств только открытых документов. Примечание. Такие сообщения об ошибках могут появиться также в том случае, если открыт документ, у которого свойство Видимый имеет значение Ложь. Временное решениеКорпорация Microsoft предлагает примеры программного кода только для иллюстрации и не предоставляет явных или подразумеваемых гарантий относительно их корректной работы в конкретных случаях и в пользовательских приложениях. Примеры в данной статье рассчитаны на пользователя, имеющего достаточный уровень знаний соответствующего языка программирования, а также необходимых средств разработки и отладки. Специалисты служб технической поддержки Microsoft могут пояснить назначение тех или иных конструкций кода в конкретном примере, но модификация примеров и их адаптация к задачам разработчика не поддерживается. Если вам требуется дополнительная консультация по вопросам программирования, вы можете обратиться в службу консалтинга Microsoft или связаться с сертифицированными партнерами компании Microsoft. Дополнительную информацию о партнерах корпорации Microsoft можно найти в Интернете по следующему адресу: http://www.microsoft.com/partner/referral/ За дополнительной информацией обратитесь к веб-узле корпорации Microsoft по адресу: http://support.microsoft.com/default.aspx?scid=fh;RU;CNTACTMSЗа дополнительной информацией об использовании приведенных в этой статье примеров обратитесь к следующей статье Microsoft Knowledge Base: 290140 How to Run Sample Code from Knowledge Ниже приведен пример макроса на языке Visual Basic for Applications для изменения значения поля Заголовок в диалоговом окне Свойства. Пример содержит специальный программный код для перехвата ошибок на случай, если нет открытых документов, и вывода соответствующего сообщения. Sub ChangeDocProperties()
Приведенный ниже программный код предусмотрен для выполнения следующих целей.
Sub ChangeDocProperties()
СсылкиДля получения помощи по работе с Visual Basic обратитесь к следующей статье Microsoft Knowledge Base: 305326 Programming Resources for Visual Basic for Applications Нужна дополнительная помощь?
Делаю выгрузку из datagridview в документ Word с помощью этого кода:
Делаю объединение строк в первой и во второй колонке. Если убрать объединение ячеек в первой колонке, то всё работает как надо. Во второй колонке объединение происходит нормально, а на первой происходит ошибка — Запрашиваемый номер семейства не существует. По логике всё должно работать, но чё то не могу додумать что не так На третьем цикле происходит ошибка Маленький пример
Заголовок таблицы тот же. В итоге результат тот же, при объединении ячеек в соседней колонке так же пишет — запрашиваемый номер семейства не существует. Почему так, не пойму
Falex 16.11.09 — 21:07 Платформа пишет такую ошибку: Ошибка при вызове метода контекста (Item): Произошла исключительная ситуация (Microsoft Word): Запрашиваемый номер семейства не существует. Макет=ПолучитьМакет(«Макет»); MSWord = Макет.Получить(); Попытка Шаблон = MSWord.Application.Documents(1); Шаблон.Activate(); … Таблица = Шаблон.Tables.Item(1); Эта обработка на моем компьютере отрабатывает. По отладчику посмотрел на другом компьютере (где не работает): количество таблиц равно нулю. На всякий случай нарисовал прямо на данном компьютере еще одну таблицу в ActiveDocument. И все равно количество таблицу в документе равно нулю. Что может быть не так?
Falex 1 — 16.11.09 — 21:07 вылетает на этом месте: Таблица = Шаблон.Tables.Item(1);
dk 2 — 16.11.09 — 21:15 видимо шаблон переаполняется
Лефмихалыч 3 — 16.11.09 — 21:23 а может нет там в этой коллекции элементов? Посмотри Шаблон.Tables.Count
Falex 4 — 16.11.09 — 21:24 всмысле шаблон перезаполняется? так я и смотрю Шаблон.Tables.Count() Он равен нулю.
Тьма 5 — 16.11.09 — 21:27 MSWord.Application.Documents().Count() — сколько?
Falex 6 — 16.11.09 — 21:27 причем я сделал еще так: взял скопировал свой шаблон в doc файл. скопировал его на тот компьютер. загрузил в activedocument. та же ерунда.
Falex 7 — 16.11.09 — 21:29 MSWord.Application.Documents().Count() = 1
Falex 8 — 16.11.09 — 21:30 причем у меня что закомментировано тоже не проходит, а проходит иначе //Шаблон.Fields.item(1).Result.Text = Формат(Дата, «ДЛФ=D»)+» г.»; Замена = Шаблон.Content.Find; Замена.Execute(«[Дата]», Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(Дата, «ДЛФ=D»)+» г.»);
dk 9 — 16.11.09 — 21:35 Шаблон = MSWord.Application.Documents(1); Шаблон.Tables.Count() — что говорит?
Falex 10 — 16.11.09 — 21:44 говорит 0
Falex 11 — 16.11.09 — 21:45 а у меня говорит 2 (сколько и есть на самом деле)
Falex 12 — 16.11.09 — 21:46 ЗЫ: базы одинаковые, но тестируются на разных машинах.
dk 13 — 16.11.09 — 21:52 версии МС офиса одинаковые?
Falex 14 — 16.11.09 — 21:53 и там и там 2007. СОхраняю для надежности в 2003.
dk 15 — 16.11.09 — 21:57 значит не тот макет
Falex 16 — 16.11.09 — 21:58 всмысле не тот макет?
Falex 17 — 16.11.09 — 22:00 попробовал иначе: прямо на том компьютере в конфигураторе создал макет (activedocument). Нарисовал 2 таблицы.Проверил количество таблиц при выводе: оно опять равно нулю.
Тьма 18 — 16.11.09 — 22:08
Ковычки 19 — 16.11.09 — 22:09 визибле=-1
Ковычки 20 — 16.11.09 — 22:14 + выкинуть попытку
Falex 21 — 16.11.09 — 22:19 это что за ссылка? Что попробовать? Шаблон.Visible = -1;???
Тьма 22 — 16.11.09 — 22:21
Falex 23 — 16.11.09 — 22:28 блин. Система в настоящее время не доступна. Пожалуйста попытайтесь позже или свяжитесь с службой поддержки, если Вам необходима срочная помощь.http://support.microsoft.com/contactus/?ws=support
Falex 24 — 16.11.09 — 22:37 как всегда майкрософт подводит (( Falex 25 — 17.11.09 — 16:18 не работает ( Материал из AutoPark Перейти к: навигация, Содержание
ФункционированиеMS Word — текстовый процессор. Обычно входит в состав пакета офисных программ MS Office. Система АвтоПарк поддерживает формирование отчетных форм с использованием MS Word. Данные в Word АвтоПарк передаёт путём создания в документе набора переменных и присваивания им значений. Для управления отображением данных в шаблоне документа используются поля. Более подробно о том, что такое поля и переменные документа, смотрите в справочной системе Word. Начальные сведения содержатся в статьях «О полях», «Коды полей: DOCVARIABLE». Разрабатываемые и поддерживаемые разработчиком шаблоны находятся в каталогах:
Именование переменных документаОсновные принципы на примерах.
Многострочные частиЕсли отчётная форма содержит одну или несколько многострочных частей, следует учитывать следующие особенности: Если тиражируемая часть является набором строк таблицы Word, закладкой должны быть помечены и символы окончания строки (в режиме отображения непечатных символов выглядит как ¤). Если предусмотренную шаблоном таблицу требуется продублировать или разбить на две (например, часть столбцов перенести на другую страницу), для каждой из таблиц должна быть установлена закладка. Дополнительным закладкам следует дать имя основной закладки с добавлением «_1» или «_2». ИзображенияЕсли в отчётной форме предусмотрена вставка изображений (например, фотография работника), то место для вставки изображения отмечается закладкой. В случае, если одно изображение требуется вставить в несколько мест документа, то дополнительным закладкам следует дать имя основной закладки с добавлением цифры от 1 до 9 (например, если АвтоПарк выводит фото работника в шаблон в закладку «Face», то добавление закладок «Face1», «Face7» приведёт к выводу такого же фото и в места, отмеченные этими закладками). Разные режимы применяются на разных этапах работы с шаблонами. Изменяется режим через пункт меню «Сервис — Администратор — Настройка системного окружения — … для работы с шаблонами MS Word — Разработка шаблонов CtrlW». Изменение режима доступно только АДМИНИСТРАТОРУ. Существует три режима работы с Word: Обычный режимИспользуется для подготовки документов на основе шаблона. При старте АвтоПарка режим всегда обычный. При создании отчётной формы АвтоПарк выполняет следующие операции: создаёт документ Word на основе соответствующего шаблона, создаёт в документе необходимые переменные, присваивает им значения, обновляет все поля документа, отправляет документ на печать либо (в зависимости от выбора пользователя) сохраняет его и открывает для редактирования. Также в некоторых документах производится тиражирование многострочной части и вставка графических изображений. Режим разработки шаблонаИспользуется для облегчения модификации пользовательских шаблонов. Отличается от обычного тем, что создаёт резервную копию шаблона, открывает сам шаблон, а не документ на его основе, выгружает все переменные, а не только необходимые, а также не тиражирует многострочные части и не вставляет графические изображения. Открытый шаблон содержит все переменные, подготавливаемые АвтоПарком. Для того, чтобы определить наименование именно той переменной, которую Вы желали бы вывести в отчётной форме, прежде всего стоит посмотреть в шаблонах, подобных разрабатываемому. Кроме того, во время разработки шаблона можно выбрать режим с выгрузкой полного списка переменных этого шаблона. Если переменной, которую Вы желали бы вывести в отчётной форме, нет в шаблоне, следует оформить ТТ на формирование такой переменной. Особенности
Публикация шаблонаИспользуется для окончательного оформления пользовательского шаблона, подготовленного в режиме разработки или другим способом. Внимание! Работа в «обычном режиме» (печать на принтер, печать в файл) с неопубликованным пользовательским шаблоном невозможна! Сразу после установки режима предлагается выбрать шаблон для публикации. С выбранного шаблона делается резервная копия, затем удаляются неиспользуемые в шаблоне переменные, значения используемых заменяются на символы «X» и «0», после чего шаблон сохраняется, а режим работы с Word возвращается в прежнее значение. Повторно опубликовать шаблон безвредно. Как заказать новый Word-отчёт
Создание пользовательского шаблонаСуществует возможность пользователю самостоятельно дорабатывать и изменять готовую отчетную форму MS-Word. Может быть две причины самостоятельной модификации выходных форм:
Следует осознавать, что в случае изменения состава стандартно подготавливаемых переменных или необходимого вида отчётной формы может возникать необходимость вносить изменения в пользовательский шаблон. В случае использования собственного шаблона это придётся делать самостоятельно, причем «внезапно». Исходя из этого, изготавливать собственные версии стандартных выходных форм следует очень аккуратно. Некоторые особенности использования MS WordДля корректной автоматической нумерации страниц в формах, при печати необходимо выставить «галочку» в меню «Сервис» — «Параметры», закладка «Печать», группа «Режим», пункт «обновлять поля». Известные проблемыПри выгрузке в Word возникает ошибка «Запрашиваемый номер семейства не существует»
При выгрузке в Word возникает ошибка «Приложению Word не удалось запустить конвертер mswrd632»
При выгрузке в Word появляется ошибка «Вызов был отклонен»Возможные причины:
При выгрузке в Word появляется ошибка «Неверно указана единица измерения»Возникает если в региональных настройках изменить разделитель целой и дробной части с запятой на точку. Для устранения ошибки: открываем Microsoft Office Word далее Сервис — Настройка — Команды — Упорядочить команды — выбрать Панель инструментов — в ней Форматирование — в Элементах встать на Межстрочный интервал — Удалить — Закрыть — Закрыть — закрыть Microsoft Office Word. Процедура настройки шаблона
Автор bestname, 29 апр 2016, 15:35 0 Пользователей и 1 гость просматривают эту тему. Здравствуйте. Формирую word файл. Никак не могу добавить строки из табличной части документа в word. Все получается, только если в ТЧ документа одна строка. Если больше, то получаю ошибку: {Документ.ЗаказПокупателя.Форма.ФормаДокумента.Форма(3000)}: Ошибка при вызове метода контекста (Cell): Произошла исключительная ситуация (Microsoft Word): Запрашиваемый номер семейства не существует Я так понимаю, что я обращаюсь к ячейке еще не созданной строки. Но я вроде как ее создаю. Наверное неправильно создаю.
//Товары НомерСтроки = ТекСтрока.НомерСтроки + 1; Doc.Tables(2).Cell(НомерСтроки, 1).Range.Text = ТекСтрока.НомерСтроки; возврат 0;
Что я делаю неправильно? Doc.Tables(2).Cell(НомерСтроки,)<—- нет такого элемента Добавлено: 29 апр 2016, 15:50 т.е. по данному номеру строки не может найти элемент Добавлено: 29 апр 2016, 15:54 по идеи Doc.Tables(2).Rows.Add() должно вернуть вам строку Помогли — Скажи спасибо! Решил сам — поделись решением! Короче я понял. Строка добавляется в конце таблицы. А мне нужно с определенного места(со второй строки). Я так понимаю, что в
Вот как выглядит макет моей таблицы: Добавлено: 05 мая 2016, 11:54 Вообщем получилось, строка добавилась после второй строки. Но добавилась, когда я снял объединение ячеек. Вот такая команда:
Но поскольку у меня некоторые ячейки объеденены, то вылазит ошибка: {Документ.ЗаказПокупателя.Форма.ФормаДокумента.Форма(2994)}: Ошибка при вызове метода контекста (Rows): Произошла исключительная ситуация (Microsoft Word): Отсутствует доступ к отдельным строкам, поскольку таблица имеет ячейки, объединенные по вертикали Может кто подскажет? Возможно, вам также будет интересно:
Подписаться
авторизуйтесь
0 комментариев
Старые
|