Перевод "фокуса" на файл созданный Шаблоном
Добавлено: 26 янв 2012, 10:31
Private Sub Команда_Click()
On Error Resume Next
Workbooks("Проба.xls").Activate
If Err.Number = 9 Then
Workbooks.Open (Путь_Проба)
Else
Workbooks(Путь_Проба).Activate
End If
On Error GoTo 0
…………………………
Set w = CreateObject("Word.Application")
w.Documents.Add Форма.Сообщение. value
Application.ScreenUpdating = False
w.Visible = True
w.activedocument.Bookmarks("Вставка1").Select
w.Selection.TypeText Me.1.Text
…………………………………
Application.ScreenUpdating = True
.......................
Добрый день форумчане!
[INDENT]Прошу помощи в решении небольшого вопроса! Имеется команда выполняющая следующие действия:
САМ ФАЙЛ из которого выполняется команда Excel
1. При нажатии на кнопку выполнения команды, открывается еще один файл Excel, в котором происходят некоторые манипуляции и ФАЙЛ ОСТАЕТСЯ ОТКРЫТЫМ[/INDENT]
2. Создается файл Word из Шаблона, который после внесения изменений с помощью Bookmarks, необходимо сохранить в определенном месте:
есть небольшой код для этого:
Dim FPath As String, FName As String
Set q = ThisWorkbook.Sheets("Лист2").Columns("A").Find(what:=ФИО.Value)
If ThisWorkbook.Sheets("Лист2").Cells(q.Row, 12).Value <> "" Then
FPath = ThisWorkbook.Sheets("Лист2").Cells(q.Row, 12).Value + "\"
Else
' MsgBox "Путь к папке клиента не найден выберите папку для сохранения в ручную", vbOKOnly + vbExclamation, "NOT FIND"
' FPath = "P:\..........."
'End If
' FName = "Файл" + " " + q
' FName = Application.GetSaveAsFilename(InitialFileName:=FPath & FName, _
' fileFilter:="word Files (*.doc), *.dot")
' If FName <> "" Then If FName <> "False" Then ActiveWorkbook.SaveAs Filename:=FName
но не могу понять как в данном коде сфокусироваться именно на Word файле! Так как в VBA понимаю не особо перепробовал множество разных вариантов в
FName = Application.GetSaveAsFilename(InitialFileName:=FPath & FName, _
' fileFilter:="word Files (*.doc), *.dot")
вместо Application.GetSaveAsFilename ставил w.Documents, Application.activedocument и т.д., при команде по моему Application.activedocument фокус падает на открытый первоначально (в данном примере у меня Проба.xls) файл Excel.
[INDENT]Кто может помогите, может капаю не там! в результате хотелось бы видеть автоматическое сохранения файла Word в папке клиента после выполнения в нем Bookmarks'ов без вопросов, а вопрос возникал бы только при отсутствии папки клиента по вышеуказанному адресу! [/INDENT]
[INDENT]Если не понятно, готов выложить файлик!! ЗАРАНЕЕ СПАСИБО ВСЕМ![/INDENT]
On Error Resume Next
Workbooks("Проба.xls").Activate
If Err.Number = 9 Then
Workbooks.Open (Путь_Проба)
Else
Workbooks(Путь_Проба).Activate
End If
On Error GoTo 0
…………………………
Set w = CreateObject("Word.Application")
w.Documents.Add Форма.Сообщение. value
Application.ScreenUpdating = False
w.Visible = True
w.activedocument.Bookmarks("Вставка1").Select
w.Selection.TypeText Me.1.Text
…………………………………
Application.ScreenUpdating = True
.......................
Добрый день форумчане!
[INDENT]Прошу помощи в решении небольшого вопроса! Имеется команда выполняющая следующие действия:
САМ ФАЙЛ из которого выполняется команда Excel
1. При нажатии на кнопку выполнения команды, открывается еще один файл Excel, в котором происходят некоторые манипуляции и ФАЙЛ ОСТАЕТСЯ ОТКРЫТЫМ[/INDENT]
2. Создается файл Word из Шаблона, который после внесения изменений с помощью Bookmarks, необходимо сохранить в определенном месте:
есть небольшой код для этого:
Dim FPath As String, FName As String
Set q = ThisWorkbook.Sheets("Лист2").Columns("A").Find(what:=ФИО.Value)
If ThisWorkbook.Sheets("Лист2").Cells(q.Row, 12).Value <> "" Then
FPath = ThisWorkbook.Sheets("Лист2").Cells(q.Row, 12).Value + "\"
Else
' MsgBox "Путь к папке клиента не найден выберите папку для сохранения в ручную", vbOKOnly + vbExclamation, "NOT FIND"
' FPath = "P:\..........."
'End If
' FName = "Файл" + " " + q
' FName = Application.GetSaveAsFilename(InitialFileName:=FPath & FName, _
' fileFilter:="word Files (*.doc), *.dot")
' If FName <> "" Then If FName <> "False" Then ActiveWorkbook.SaveAs Filename:=FName
но не могу понять как в данном коде сфокусироваться именно на Word файле! Так как в VBA понимаю не особо перепробовал множество разных вариантов в
FName = Application.GetSaveAsFilename(InitialFileName:=FPath & FName, _
' fileFilter:="word Files (*.doc), *.dot")
вместо Application.GetSaveAsFilename ставил w.Documents, Application.activedocument и т.д., при команде по моему Application.activedocument фокус падает на открытый первоначально (в данном примере у меня Проба.xls) файл Excel.
[INDENT]Кто может помогите, может капаю не там! в результате хотелось бы видеть автоматическое сохранения файла Word в папке клиента после выполнения в нем Bookmarks'ов без вопросов, а вопрос возникал бы только при отсутствии папки клиента по вышеуказанному адресу! [/INDENT]
[INDENT]Если не понятно, готов выложить файлик!! ЗАРАНЕЕ СПАСИБО ВСЕМ![/INDENT]