Мне нужно взять список имен из Excel и вставить их в документ Word, печатая один документ на имя. Документ содержит текст и закладку под названием «имя». Код ниже.
Во-первых, я хочу знать, возможно ли определить длину списка имен в электронной таблице Excel и получить его вместо жесткого кодирования числа.
Во-вторых, я не могу понять, как удалить текст, который я уже вставил в документ. Когда я вставляю текст в закладку, он добавляется после закладки, поэтому, если я продолжу добавлять имена, все они будут складываться вместе.
Может быть, с кодом это будет понятнее:
Sub insertar_nombre()
Dim Excel As Excel.Application
Dim Planilla As Excel.Workbook
Dim Hoja As Excel.Worksheet
Set Excel = CreateObject("Excel.Application")
Dim Filename As String
Dim fname As Variant
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.Title = "Seleccionar Documento de Excel"
.Show
For Each fname In .SelectedItems
Filename = fname
Next
End With
Set Planilla = Excel.Workbooks.Open(Filename)
Set Hoja = Planilla.Worksheets(1)
Dim Nombre As String
For Count = 2 To 10
Nombre = Hoja.Cells(Count, 1).Value
ActiveDocument.Bookmarks("name").Range.Text = Nombre
ActiveDocument.PrintOut
Next
End Sub
Простите, если этот код явно неправильный или что-то в этом роде, я только начинаю с этого.