Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2010, 01:01   #1
pingvi
Пользователь
 
Аватар для pingvi
 
Регистрация: 25.06.2010
Сообщений: 13
Восклицание Doc Property как????

постараюсь формулировать правильно

есть два поля (вставка-поле -DocProperty - Test1 и вставка-поле -DocProperty - Test2 )
Test1 присвоено значение ячейки из таблицы excel A2
Test2 присвоено значение ячейки из таблицы excel B2
столбцы в таблице заполнены со 2 по 5 тую строку (колонки A и B)
помогите решить проблему хочу что бы
на первом листе отображалось

первый лист
Привет1 (слово в колонке A2)
Пока1(слово в колонке B2)


второй лист
Привет2 (слово в колонке A3)
Пока2(слово в колонке B3)

и тд

расположение на листах в word одинаковое (одно слово под другим)
про слияние знаю но хочу сделать через Property, если это реально

Код:

Код:
Sub AddProperty(sPropName As String)

Dim objCustomProperties As DocumentProperties
  Dim str As Variant
  Set objCustomProperties = ActiveDocument.CustomDocumentProperties
  
   'Попытка прочитать свойство с заданным именем
  str = objCustomProperties("Test1").Value
  str = objCustomProperties("Test2").Value

End Sub


Public Function GetProperty(sPropName As String) As String
    Dim objCustomProperties As DocumentProperties
    Set objCustomProperties = ActiveDocument.CustomDocumentProperties
  
 
    GetProperty = objCustomProperties(sPropName).Value


End Function

Sub Excel2Word()
  
  'Запуск Excel:
  Set Excel = CreateObject("Excel.Application")
  'Открытие файла:
  Set Workbook = Excel.Workbooks.Open("D:\12.xls")
   'Третий лист:
  Set Worksheet = Workbook.Worksheets(1)
  
  'Текст ячеек
        ActiveDocument.CustomDocumentProperties("Test1").Value = Worksheet.Range("A2").Text
        ActiveDocument.Fields.Update
        ActiveDocument.CustomDocumentProperties("Test2").Value = Worksheet.Range("B2").Text
        ActiveDocument.Fields.Update
           'Выход из Excel:
    Excel.Quit
    'Вставка в Word:
    Selection.InsertAfter (Text)
End Sub
как сделать так что бы Property копировало расположение полей в word и дублировало это расположение нужное количество раз (само количество зависит от того сколько строк заполнено в excel)
Словом можно обидеть. Словарем - убить
pingvi вне форума Ответить с цитированием
Старый 12.07.2010, 11:53   #2
pingvi
Пользователь
 
Аватар для pingvi
 
Регистрация: 25.06.2010
Сообщений: 13
По умолчанию

как я понимаю
я опять не корректно задал вопрос (или никто никогда не сталкивался с подобным)

хочеться что бы property работал как функция "слияние"
возможно ли такое сделать?
если нет, то почему?
Словом можно обидеть. Словарем - убить
pingvi вне форума Ответить с цитированием
Старый 16.01.2013, 17:35   #3
sasha_prof
Форумчанин
 
Регистрация: 06.01.2010
Сообщений: 292
По умолчанию

Подскажите пожалуйста как в VBA подхвативать значение конкретной переменной в:
{DOCPROPERTY cp_pe_sunam \* MERGEFORMAT}
sasha_prof вне форума Ответить с цитированием
Старый 16.01.2013, 19:42   #4
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 906
По умолчанию

Код:
Sub Procedure_1()
    
    'Вывод результата в View - Immediate Window.
    Debug.Print ActiveDocument.CustomDocumentProperties("cp_pe_sunam").Value

End Sub

Примечание

Есть два вида свойств документа: встроенные и пользовательские.
В VBA-Word - это BuiltInDocumentProperties, CustomDocumentProperties.

Ещё как-то связан со свойствами документа Word весь Microsoft Office: DocumentProperties. В справке по VBA в Word 2010 есть раздел, связанный с MS Office.
Скрипт вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получают такой .doc valerij Microsoft Office Word 1 06.07.2010 18:37
Как сохранить .doc в docx? beda Microsoft Office Word 7 24.06.2010 15:37
как прикрепить *.doc к базе данных? CoCoS БД в Delphi 1 08.04.2009 12:58
Как открыть .doc/.htm в Richedit ?? UnD)eaD)Snake Компоненты Delphi 3 27.08.2007 19:42
При открытие в OpenDialog .doc-вский файл должен отображаться в RichEdit. doc to rtf Lemon Компоненты Delphi 9 07.06.2007 19:19