AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.05.2006, 12:11   #1  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
VBA
VBA плохо знаю, не могу на VBA воспроизвести этот код:
Код:
   COMAppl         = new COM("Word.Application");
    COMDocuments    = COMAppl.documents();

    COMDocument     = COMDocuments.add(''E:\\data\\222.dot');
    COMBookmarks    = COMDocument.bookmarks();
    COMBookmark     = COMBookmarks.item('label');
    COMrange        = COMBookmark.range();
    COMrange.InsertAfter('label');
а вобще не могу в helpe VBA найти обисание объекта COMrange и его методов. Помогите!

Кстати этот код из 7-ой главы новой книги.
Старый 05.05.2006, 12:38   #2  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,253 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от konopello
VBA плохо знаю, не могу на VBA воспроизвести этот код
А в какой строке возникает ошибка?
Общий совет, для начала, проверь этот код в word или excel, если все работает, переноси в аксу.
__________________
Isn't it nice when things just work?
Старый 05.05.2006, 12:46   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от macklakov
для начала, проверь этот код в word или excel, если все работает, переноси в аксу.
да ему вроде наоборот надо - из Аксы в VBA...
Старый 05.05.2006, 12:46   #4  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
В том то и дело что не могу проверить, хотя код работает правельно, просто COMrange.InsertAfter('label'); вставляет значение не в поле а после него стало интерестно как вставить в поле но немогу в VBA найти описание ни объекта ни метода
Старый 05.05.2006, 12:55   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
На скорую руку, не описывая переменные как-то так:
X++:
Sub Test()
    Set COMAppl = CreateObject("Word.Application")
    
    COMAppl.Visible = True
    
    Set COMDocuments = COMAppl.documents
    Set COMDocument = COMDocuments.Add("E:\data\222.dot")
    Set COMBookmarks = COMDocument.bookmarks
    Set COMBookmark = COMBookmarks.Item("label")
    Set COMrange = COMBookmark.Range
    COMrange.InsertAfter "label"
    
End Sub
Старый 05.05.2006, 12:58   #6  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Запускаю из Excel. Если в начало модуля вставится оператор Option Explicit - удалить его. Ну или описывать переменные.
Протестировать не могу полностью из-за отсутствия шаблона, а создавать лениво

P.S. В предыдущем посте конечно код VBA, а не X++, как подписано. Просто использовал тэг xpp, потому что он не кушает ведущие пробелы.

Последний раз редактировалось Gustav; 05.05.2006 в 15:03.
Старый 05.05.2006, 13:02   #7  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,253 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от konopello
В том то и дело что не могу проверить, хотя код работает правельно, просто COMrange.InsertAfter('label'); вставляет значение не в поле а после него стало интерестно как вставить в поле но немогу в VBA найти описание ни объекта ни метода
COMrange, это объект класса Range в VB. Если посмотрим на его описание, то увидим, что метод InsertAfter "Inserts the specified text at the end of a range or selection. After this method is applied, the range or selection expands to include the new text", а для того, чтобы просто вставить значение, лучше использовать свойство text
__________________
Isn't it nice when things just work?
Старый 05.05.2006, 13:15   #8  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
2 macklakov: COMrange, это объект класса Range в VB

Смотрю методы класса Range но этого метода найти не могу
Старый 05.05.2006, 13:16   #9  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от konopello
немогу в VBA найти описание ни объекта ни метода
Ищи на компе файл типа VBAWRD9.CHM . Это хелп по VBA для Ворда 2000. Для более поздних наверное цифра будет больше, типа 10

Кстати, попутный вопрос - кто-нибудь знает, как посмотреть в открытом хелпе какой именно хелп-файл отображается в данный момент?
Старый 05.05.2006, 13:20   #10  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Сори нашел, я смотрел Excel метод Range а надо Word. Всем спасибо просто туплю. С самого начало колупался с обектами Excel поэтому и ни чего и не получалась
Старый 05.05.2006, 13:38   #11  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Gustav
Кстати, попутный вопрос - кто-нибудь знает, как посмотреть в открытом хелпе какой именно хелп-файл отображается в данный момент?
В свойствах открытой страницы указывается файл CHM и HTML внутри него.
VBAWD10.CHM::/html/woobjWords1.htm
__________________
Axapta v.3.0 sp5 kr2
Старый 05.05.2006, 13:56   #12  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от AndyD
В свойствах открытой страницы указывается файл CHM и HTML внутри него.
VBAWD10.CHM::/html/woobjWords1.htm
Спасибо. Тоже уже что-то нашёл. Только у меня всё более древнее (типа 2000)
Мой путь познания такой: в открытом хелпе внутри текущей темы (та, которая в большом окне справа) щелкаю правой кнопкой и там можно выбрать и покопаться либо в "Свойствах" (там можно увидеть папку), либо "В виде HTML" (там можно найти имя файла по строке примерно следующего вида: Project='vbawrd9.chm' - она одна из первых, но в некоторых хелп-файлах я ее, увы, не нашёл)
Старый 05.05.2006, 14:24   #13  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
В свойствах указывается и имя файла, просто обычно строка большая и не влезает вся целиком в окошка. Сделайте на этой строке "Выделить все" и скопируйте выделение куда-либо. Или зажмите на этой строке мышку и поведите ей вниз - текст скроллируется
Изображения
 
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 05.05.2006 в 14:31.
За это сообщение автора поблагодарили: Gustav (1).
Старый 05.05.2006, 14:46   #14  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от AndyD
В свойствах указывается и имя файла, просто обычно строка большая и не влезает вся целиком в окошка. Сделайте на этой строке "Выделить все" и скопируйте выделение куда-либо. Или зажмите на этой строке мышку и поведите ей вниз - текст скроллируется
Спасибо-2. ЗдОрово! "Век живи - век учись!"
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Gustav: Unsorted, или Записки DAX-дилетанта - II Gustav DAX Blogs 39 20.05.2009 15:34
Работа с Lotus посредством VBA VKUR DAX: Программирование 16 19.04.2007 12:39
Вопрос по ComExcelDocument_RU Protey DAX: Программирование 24 05.04.2007 11:20
Методы группировки данных в отчетах sparur DAX: Программирование 59 09.06.2006 07:13
Axapta программирует Excel на VBA Gustav DAX: База знаний и проекты 10 13.03.2006 11:42

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:50.