Передать параметр в word

Ну что сразу приходит на ум, так это использование Document Variables….

Значит, процедура в codemodule DrawPicture:

Public Sub InsertPicture()

MsgBox ActiveDocument.Variables(‘varPathToBMP’).Value

End Sub

И как ты понял, код в VB:

Private Sub Command1_Click()
Dim appWord As Word.Application
Dim docWord As Word.Document

Set appWord = New Word.Application

Set docWord = appWord.Documents.Add(Template:=’Focuments and SettingsAdministratorApplication DataMicrosoftTemplatesTest1.dot’)

‘ TODO: add check for already exist variable
docWord.Variables.Add Name:=’varPathToBMP’, Value:=’C:TEMPIncom.bmp’

appWord.Run MacroName:=’InsertPicture’

appWord.Quit

Set appWord = Nothing
End Sub

Это должно работать и с 97…
Я думаю, обработчик ошибок и прочее сделаешь сам…

Удачи..

   адинэсниг1

08.07.13 — 15:36

Всего мнений: 0

onprint = поле ввода.значение;

           ТекстМакроса = «Sub VBAL1()

           | Application.PrintOut FileName:=»»»», Range:=wdPrintAllDocument, Item:= _

           |    wdPrintDocumentContent, Copies:=1, Pages:=???, PageType:=wdPrintAllPages, _

           |    ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _

           |    False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _

           |    PrintZoomPaperHeight:=0

           |    End Sub»;

           
           
           Word = Новый COMОбъект(«Word.Application»);

           Word.Documents.Open(«d:/1.docx»);

           Word.Application.Visible=0;

           VB = Word.VBE.ActiveVBProject.VBComponents;

           Cnt = VB.Count();

           VB.Add(1);

           VB.Item(Cnt+1).CodeModule.InsertLines(1,ТекстМакроса);

           Word.Application.Run(«VBAL1»);

автор, иди учись программир

Как передать значание поля в параметр Pages?

пробывал Pages:=»+onprint+»,

Pages:=»»»+onprint+»»»,

Pages:=»+символ(34)+onprint+символ(34)+».

Во всех случаях печатает все страницы, невзирая на занчанеие.

ps. пробывал печатать и без макроса, не взлетает.

примерно так: msword.printout(,,,,,,,,onprint,)

   Андрюха

1 — 08.07.13 — 15:38

1) Включи запись макроса

2) Напечатай нужные страницы

3) Останови запись

4) Зайди в макрос и посмотри параметры Pages

   адинэсниг1

2 — 08.07.13 — 15:49

(1) я делал это. Если, например печатать 1,6-10 страницы, то в макросе pages=»1,6-10″.

В 1с Пробывал передавать в макрос и 1,6-10, и «1,6-10». Печатает все страницы не взирая на это.

ТекстМакроса = «Sub VBAL1()

           | Application.PrintOut FileName:=»»»», Range:=wdPrintAllDocument, Item:= _

           |    wdPrintDocumentContent, Copies:=1, Pages:=»+символ(34)+onprint+символ(34)+», PageType:=wdPrintAllPages, _

           |    ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _

           |    False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _

           |    PrintZoomPaperHeight:=0

           |    End Sub»;

   acsent

3 — 08.07.13 — 15:53

а на msdn зайти?

   Jaap Vduul

4 — 08.07.13 — 15:54

Вместо wdPrintAllDocument надо wdPrintRangeOfPages.

Для восьмёрки, кстати, извращение со вставкой кода не нужно.

А при вызове методов для необязательных параметров нужно передавать Неопределено.

   acsent

5 — 08.07.13 — 15:54

да и встроенный хелп неплохой

   адинэсниг1

6 — 08.07.13 — 15:55

(4) thank you!

   адинэсниг1

7 — 10.07.13 — 09:08

Еще вопрос по этой теме, вот в этом куске:

VB = MsWord.Application.VBE.ActiveVBProject.VBComponents;

Cnt = VB.count();

VB.Add(1);

VB.Item(Cnt+1).CodeModule.InsertLines(1,ТекстМакроса);

MsWord.Application.Run(«VBAL1»);

Состояние(«Отключение от Word»);

MsWord.Quit(Ложь);

MsWord = Неопределено;

Нету стабильности, то печатает все хорошо, то не обнаружен метод count(), то не обнаружен метод item(). От чего это может зависеть?

ps. office 2010

   адинэсниг1

8 — 10.07.13 — 09:12

И еще, можно ли средствами 1с передать параметр wdPrintRangeOfPages в printout? что-бы не мучатся с макросами?

   skunk

9 — 10.07.13 — 09:17

от ActiveVBProject

   адинэсниг1

10 — 10.07.13 — 09:20

(9) подробнее, если не сложно

   skunk

11 — 10.07.13 — 09:22

(8)wdPrintRangeOfPages = 4

   skunk

12 — 10.07.13 — 09:24

(10)ActiveVBProject соддержит указатель на активный VBProject … который тупо может просто отсуствовать

   адинэсниг1

13 — 10.07.13 — 09:52

(11) Пишет:

Ошибка при вызове метода контекста (PrintOut): Типы не совпадают (12)

Вот так пытаюсь передать:

MsWord.PrintOut(0,неопределено,4,неопределено,неопределено,неопределено,неопределено,1,»1-2″,неопределено,False,True);

третий параметр пробывал и 1,2,3,4,5,6.

   skunk

14 — 10.07.13 — 09:57

а так?

MsWord.PrintOut(0, , 4, , , , , 1, «1-2», , False, True);

   адинэсниг1

15 — 10.07.13 — 10:00

(14) получилось! спасибо!

  

skunk

16 — 10.07.13 — 10:03

(15)для необязательных параметров в функции и процедуры ничего не передовай … а «неопределено» — это уже что-то

На чтение 2 мин Опубликовано 15.10.2015

Вставляем свойства в документ Word

В прошлых статьях мы показывали, как настраивать дополнительные свойства и создавать пользовательские свойства в документе Word. Эти свойства можно вставить при помощи экспресс-блока Поле (Field). Что полезно, когда есть слова, фразы или значения, которые часто используются в документах.

Если слово, фразу или значение, которые многократно используются в документе, планируется изменять в будущих редакциях этого документа, то использование встроенного или пользовательского свойства будет весьма полезным. Вам достаточно изменить значение свойства только в одном месте, чтобы оно изменилось сразу во всём документе.

Чтобы вставить значение встроенного или пользовательского свойства, поставьте курсор в то место, куда его нужно вставить, и откройте вкладку Вставка (Insert).

Примечание: При вставке пользовательского свойства в документ, вставлено будет только его значение. Если Вы хотите дополнить (расшифровать) значение именем свойства, введите нужный текст прежде, чем вставлять само значение.

Вставляем свойства в документ Word

В разделе Текст (Text) вкладки Вставка (Insert) нажмите кнопку Экспресс-блоки (Quick Parts).

Примечание: Подписи этих кнопок могут не отображаться, когда окно Word открыто недостаточно широко. Если Вы не видите подпись кнопки, найдите иконку, указанную курсором на изображении ниже.

Вставляем свойства в документ Word

В появившемся меню нажмите Поле (Field).

Вставляем свойства в документ Word

В выпадающем списке Категории (Categories) выберите О документе (Document Information).

Вставляем свойства в документ Word

В списке Поля (Field names) кликните по DocProperty. В разделе Свойства поля (Field Properties), который расположен по центру диалогового окна, под заголовком Свойство (Property) появится список всех доступных свойств документа (как встроенных, так и добавленных Вами). Выберите из списка пользовательское свойство, которое хотите добавить в документ, и нажмите ОК.

Вставляем свойства в документ Word

Значение будет вставлено туда, где находится курсор.

Вставляем свойства в документ Word

Изменив значение пользовательского свойства, необходимо обновить поля, вставленные в документ, чтобы они отобразили это изменение. Для этого нужно выделить все поля в документе (или полностью весь документ) и нажать клавишу F9.

Оцените качество статьи. Нам важно ваше мнение:

Содержание

  • Что такое переменная в Word?
  • Как вставить переменную?
  • Можете ли вы вставить данные в документ Word?
  • Какие бывают 3 типа переменных?
  • Какое корневое слово переменной?
  • Как использовать переменную в операторе вставки?
  • Какие типы переменных существуют в SPSS?
  • Как установить переменную в SQL?
  • Как объединить данные Excel в документ Word?
  • Как мне поместить данные Excel в документ Word?
  • В каком формате хранится файл Microsoft Word?
  • Как определить переменную?
  • Какие 5 переменных?

Когда слово сохраняется в переменной на пустом месте, оно называется строковой переменной. * Переменная — это область памяти, предназначенная для хранения значения во время выполнения программы. … Для хранения слова используется переменная особого типа, известная как строковая переменная.

Переменная служит как заполнитель для информации, которая может часто меняться. Использование переменных в исходных документах позволяет быстро и легко контролировать содержимое созданного вами вывода. … Значение переменной в исходном документе не изменяется.

Как вставить переменную?

Вставка переменной

  1. В окне просмотра данных щелкните имя столбца справа от того места, куда вы хотите вставить новую переменную.
  2. Теперь вы можете вставить переменную несколькими способами: Щелкните Правка> Вставить переменную; Щелкните правой кнопкой мыши имя существующей переменной и выберите «Вставить переменную»; или.

Можете ли вы вставить данные в документ Word?

Встроенный объект

Идти Вставить> Текст> Объект. Выберите «Создать из файла»> «Обзор» и найдите файл, который хотите вставить в документ Word. Выберите один из следующих вариантов: Чтобы добавить файл в качестве связанного объекта, выберите «Связать с файлом», а затем нажмите «ОК».

Какие бывают 3 типа переменных?

Эти изменяющиеся величины называются переменными. Переменная — это любой фактор, признак или условие, которые могут существовать в разных количествах или типах. В эксперименте обычно используются три типа переменных: независимый, зависимый и управляемый.

Какое корневое слово переменной?

переменная (прил.

конец XIV в., людей, «склонные к изменению, непостоянные», от старофранцузского переменного «разнообразный, изменчивый, непостоянный», от позднелатинского variabilis «изменчивый», от variare «изменяться» (см. варианты).

Как использовать переменную в операторе вставки?

Синтаксис для присвоения значения переменной SQL в запросе SELECT следующий: @ var_name: = значение , где var_name — это имя переменной, а значение — это значение, которое вы получаете. Переменная может использоваться в последующих запросах везде, где разрешено выражение, например, в предложении WHERE или в инструкции INSERT.

Какие типы переменных существуют в SPSS?

Типы переменных

  • Числовой. Числовые переменные, как и следовало ожидать, имеют значения данных, которые распознаются как числа. …
  • Нить. Строковые переменные, которые также называются буквенно-цифровыми или символьными переменными, имеют значения, которые обрабатываются как текст. …
  • Запятая. …
  • Точка. …
  • Научная нотация. …
  • Дата. …
  • Доллар. …
  • Пользовательская валюта.

Как установить переменную в SQL?

Переменные в процедурах SQL определяются используя оператор DECLARE. Значения могут быть присвоены переменным с помощью оператора SET или оператора SELECT INTO или в качестве значения по умолчанию при объявлении переменной. Переменным можно присвоить литералы, выражения, результат запроса и специальные значения регистров.

Как объединить данные Excel в документ Word?

В документе Word выделите поле, которое вы хотите заполнить данными из Excel. На вкладке «Рассылки» нажмите кнопку «Вставить поле слияния», выпадет список заголовков столбцов в сохраненном документе Excel (например, название компании и т. д.). Выберите соответствующее поле, которое вы хотите объединить, и нажмите «Вставить».

Как мне поместить данные Excel в документ Word?

Чтобы вставить связанные данные Excel в таблицу Word:

  1. Откройте исходную книгу Excel.
  2. Выберите данные, которые вы хотите поместить в файл Word.
  3. Нажмите Ctrl + C или щелкните правой кнопкой мыши и выберите Копировать в раскрывающемся меню.
  4. Откройте целевой документ Word.
  5. Поместите точку вставки в то место, где должны отображаться связанные данные Excel.

В каком формате хранится файл Microsoft Word?

Форматы файлов, поддерживаемые в Word

Расширение Название формата файла
.docx Документ Word
.docx Строгий документ Open XML
.dot Шаблон Word 97-2003
.dotm Шаблон Word с поддержкой макросов

Как определить переменную?

Легкий способ представить себе независимые и зависимые переменные: когда вы проводите эксперимент, независимая переменная — это то, что вы изменяете, а зависимая переменная — это то, что изменяется из-за этого. Вы также можете рассматривать независимую переменную как причину, а зависимую переменную как следствие.

Какие 5 переменных?

Типы переменных

  • Независимые переменные. Независимая переменная — это особая характеристика, которую другие переменные в вашем эксперименте изменить не могут. …
  • Зависимые переменные. …
  • Промежуточные переменные. …
  • Модерирующие переменные. …
  • Контрольные переменные. …
  • Посторонние переменные. …
  • Количественные переменные. …
  • Качественные переменные.

Интересные материалы:

Как вы измеряете величину магнитного поля?
Как вы измеряете внутреннюю температуру обмотки?
Как вы изобразите очевидное падение на стереосигналах?
Как вы кадрируете кого-нибудь на картинке?
Как вы кадрируете в FastStone?
Как вы каракули?
Как вы каждый раз побеждаете в «Монополии»?
Как вы каждый раз побеждаете в Mortal Kombat?
Как вы храните маленькие кусочки игрушек?
Как вы храните мелкие безделушки?

 
ANB ©
 
(2007-01-24 18:22)
[0]

Никак не получается вызвать макрос с параметром. Убираю параметр из басика и вызова — работает. Добавляю параметр. Из самого басика подпрограмма вызывается. Из делфы — пытаюсь задать строку с именем, в скобках число — не находит макрос. Из списка макросов в ворде тоже подпрограмма пропадает.


 
jack128 ©
 
(2007-01-24 18:54)
[1]

Как конкретно вызываешь то макрос??


 
umbra ©
 
(2007-01-24 19:02)
[2]

в ворде, насколько я знаю, нельзя выполнить произвольную функцию с параметрами. Только процедуру. В экселе можно :)
Надо, чтобы процедура брала параметр откуда-нибудь.


 
ANB ©
 
(2007-01-25 12:23)
[3]


> Как конкретно вызываешь то макрос??

Млин. Компонентой TXLReport. У нее свойство есть MacroBefore. Заполняешь строку именем макроса и она сама его вызывает. Пока не пытаешься параметры передавать — все работает. Исходников этой компоненты нету. Выкинуть не могу — ее надо юзать — там жуткий проброс был сделан, чтобы хоть ее зацепить. Писать с нуля — проблематично по времени.
Одна наша программистка как то умудрилась передать одно число. А вот как она этого добилась — сама не понимает. Пишу такой же код — ни фига не работает. И сама она свой подвиг повторить не может.


 
umbra ©
 
(2007-01-25 13:10)
[4]


> в ворде, насколько я знаю, нельзя выполнить произвольную
> функцию с параметрами.

это в 97 нельзя, а в тех, что поновее — можно. Там есть метод Application.Run(macroname, varg1, varg2, ......., varg30)
macroname  — это строка типа «mydoc.doc!mymodule.mymacro»
Компонент наверняка его вызывает. По идее, св-ву MacroBefore надо присвоить значение наподобие » "mydoc.doc!mymodule.mymacro", myarg «


 
jack128 ©
 
(2007-01-25 14:39)
[5]

ANB ©   (25.01.07 12:23) [3]
Заполняешь строку именем макроса и она сама его вызывает. Пока не пытаешься параметры передавать — все работает

У мя всё работает.  В обработчике OnMacro параметры спокойно передаются

PS Исходники компонента есть.  Если что, стучись на jack128_ДругЧеловека_mail.ru


Понравилась статья? Поделить с друзьями:
  • Передать диапазон в формулу excel
  • Передать в таблицу word vba
  • Передать pdf в excel
  • Передаточный акт в excel
  • Перед числами в excel стоит апостроф