Страницы: 1
RSS
Сохранить созданный Екселем файл Ворда и закрыть его.
 
Добрый день, еще раз обращаюсь. Есть код, работает как нужно (подпилил под себя). Но никак не могу сохранить созданный файл Ворда и закрыть, постоянно выдает ошибку, не могу понять почему. Искал на форуме, находил, но никак не могу применить, выходит ошибка.  Код ниже приведен.
Использовал WD.SaveAs FileName:     выдает ошибку, прописывал путь, объявлял переменные, но все ровно выходит ошибка.
Заранее спасибо,

Код
Public Sub Report()
Dim objWord As Word.Application
Dim objDoc As Document
Set objWord = New Word.Application
 
 
objWord.WindowState = wdWindowStateMaximize
 
objWord.Visible = True
objWord.Documents.Add
Set objDoc = objWord.ActiveDocument
Dim rgn As Range
Dim i As Long, j As Long, iRow As Long, iColumn As Long
Set rgn = Worksheets(1).Range("a1").CurrentRegion
iRow = rgn.Rows.Count
iColumn = rgn.Columns.Count
 
 
        With objDoc
        .Tables.Add Range:=objWord.Selection.Range, NumRows:=iRow, NumColumns:=iColumn
        .Tables(1).Columns.AutoFit
         
        End With
For i = 1 To iRow
For j = 1 To iColumn
 
        With objWord.Selection
        .TypeText Text:=Worksheets(1).Cells(i, j).Value
        .MoveRight Unit:=wdCell
        End With
Next j
Next i
objWord.Selection.Cells.Delete ShiftCells:=wdDeleteCellsEntireRow
End Sub
 
Разобрался, тему можно закрыть.
Использовал
Код
objDoc.SaveAs Filename:=path_f & "\" & d
    objDoc.Close
 
зачем вы на каждом шаге цикла with объявляете?
Код
For i = 1 To iRow
For j = 1 To iColumn
  
        With objWord.Selection
        .TypeText Text:=Worksheets(1).Cells(i, j).Value
        .MoveRight Unit:=wdCell
        End With
Next j
Next i
а вижу, сначала
MoveRight не заметил
Изменено: Слэн - 19.06.2015 14:35:31
Живи и дай жить..
 
alexthegreat, можно одной строчкой обойтись и сохранять методом ".Close".

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan в общем то как получилось :).  Объявил доп. переменные и сохранил. Сохранить с Close что то не догадался, да и не знаю будет ли оно сохранять автоматом, не спрашивая, и закрывать автоматом.
Всем большое спасибо, как всегда выручили и дали темы для размышления.
 
alexthegreat, а попробовать?
Код
objDoc.Close true, path_f & "\" & d

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
Страницы: 1
Читают тему
Наверх