Страницы: 1
RSS
пееренос переменной из макроса экселя в макрос ворда
 
кто знает как перенести переменную, заданную в экселе в макрос ворда?
в экселе задана переменная n и ссылается она на ячейку с датой, назначение ее чтобы при сохранении файла в скобках отображалась эта самая дата... макрос ворда подтягивает и форматирует текст из экселя и форматирует (разбивает по абзацам, шрифт, центровка и т.д.)... нужно чтобы в вордовский макрос подтягивалась эта же переменная n, для сохранения вордовского файла с этой же датой в скобках...
Код
в экселе: 
   Dim n
    n = Range("$B$9")
...
ChDir "D:\"
   Workbooks("Книга1.xlsx").SaveAs Filename:="D:\Книга1(" & n & ").xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
...
 Sheets("txt").Activate
'    Range("S2").Select
'Selection.Copy
'Dim objWrdApp As Object, objWrdDoc As Object
'Set objWrdApp = CreateObject("Word.Application")
'objWrdApp.Visible = True
'Set objWrdDoc = objWrdApp.Documents.Open("D:\Документ1.docm")

в ворде
        ChangeFileOpenDirectory "D:\"
    
    ActiveDocument.SaveAs FileName:="Документ1.docx", FileFormat:= _
        wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
        :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
        :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False
  
 
Цитата
Sanya4081 написал: макрос ворда подтягивает и форматирует текст из экселя
Так пусть возьмет значение из ячейки В9?
Вообще непонятно, "вордовский макрос" запускается из Excel или независимо, пользователем.
 
Казанский,а как это прописать? вордовский макрос запускается из экселя
 
Можете передать как параметр процедуры. Например
Код
'процедура в Word

Sub WordMacro(Optional n = 1)
MsgBox n
End Sub

'в Excel

Dim objWrdApp As Object, objWrdDoc As Object
Set objWrdApp = CreateObject("Word.Application")
objWrdApp.Visible = True
Set objWrdDoc = objWrdApp.Documents.Open("D:\Документ1.docm")

objWrdApp.Run "WordMacro", 5
 
Казанский,ничего не понял, но спасибо
 
решил проблему следующим образом:
Код
[/CODE][COLOR=#1f497d]       Dim es As Object
    Set es = GetObject("D:\Книга1.xlsx")
    Dim n
    n = es.Application.Workbooks("Книга1.xlsx").Sheets("Лист1").Range("D5")
 
    ChangeFileOpenDirectory "D:\"
    ActiveDocument.SaveAs FileName:="Документ1(" & n & ").docx", FileFormat:= _
        wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
        :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
        :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False[/COLOR]
[CODE]

[CODE][/CODE]
Изменено: Sanya4081 - 27.03.2015 12:15:04
 
Цитата
Sanya4081 написал: экселе задана переменная n
Цитата
Sanya4081 написал:
нужно чтобы в вордовский макрос
Зачем штаны через голову снимать?
Не проще макрос из ворда выкинуть, и добавить его код в Excel?
Страницы: 1
Наверх