Консультация № 187959
30.12.2014, 04:14
556.03 руб.
0 2 0
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Я написал макрос:
Sub Macro1()
With ActiveDocument.Styles(wdStyleEnvelopeAddress).Font
.Name = "Arial Black"
.Size = 14
.Bold = True
End With
ActiveDocument.Envelope.PrintOut ExtractAddress:=False, OmitReturnAddress:=True, Height:=InchesToPoints(3.63), _
Width:=InchesToPoints(6.5), Address:="San Francisco Paratransit" & Chr(13) & "68-12th Street 1st Floor" & Chr(13) & _
"San Francisco CA 94103-1297", AddressFromLeft:=InchesToPoints(1.8), AddressFromTop:=InchesToPoints(1.5), _
DefaultOrientation:=wdCenterClockwise, DefaultFaceUp:=True, PrintEPostage:=False
End Sub
Он работает, адрес на конверте печатается, но почему-то параметры:
AddressFromLeft:=InchesToPoints(1.8), AddressFromTop:=InchesToPoints(1.5)
не выполняются (отступы остаются те, что по умолчанию); возможно, это относится и к параметрам:
Height:=InchesToPoints(3.63), Width:=InchesToPoints(6.5), я не проверял. Как сделать, чтобы макрос менял параметры
( либо сменить параметры по умолчанию). У меня Windows7, англоязычный.

Обсуждение

давно
Мастер-Эксперт
259041
7464
01.01.2015, 05:05
общий
Адресаты:
Уважаемый коллега, я не могу помочь Вам в макросах, я никогда не писал их.
"У меня Windows7" - подозреваю, что ОперСистема тут не имеет значения, тк Макрос Вы писали из Word-оболочки, верно? Я заметил по Вашим Ответам, Вы любите Word, и даже иногда впихиваете в него несвойственные ему картинки, которые вне Word-оболочки гораздо легче обрабатывать в графических редакторах.

Поэтому, если Ваша конечная цель: Автоматизировать печать конвертов в "San Francisco…" (а не морочиться с макросами), я предлагаю Вам использовать для этого простую HTML-разметку.
Например, Тег <pre> ( http://htmlbook.ru/html/pre ) позволяет отображать текст в точности, как он набран (со всеми пробелами, отступами и выступами).
Мой совет не претендует на Ответ (и денег rfpro давно не платит), примите его как товарищескую помощь.
Поздравляю Вас с Новым годом! У вас в Силиконовой долине он ещё не наступил?
давно
Старший Модератор
31795
6196
09.01.2015, 10:29
общий
09.01.2015, 12:13
Адресаты:
На просторах сети есть такой вариант:
[code h=150]'' тип 2
''From: My Company, Inc
''Index:12345
''Address:1260, Universal st., Arivo, Mexico
'' Your advertising can be here
''
''
'' To:
'' Index
''Address:

Sub m101119_0827()

Dim s1, s2, j1, j2, j3, j3k
s1 = Excel.ActiveWorkbook.Path
Dim ws As Worksheet
Set ws = Excel.ActiveSheet
'ФОРМИРОВАНИЕ ФАЙЛА ДЛЯ WORD
'---------------по типу конверта
'---------------при необходимости требуемое количество копий
'---------------можно добавить дату для уникальности имени
'можно сразу указать размер бумаги и ориентацию
'достаточно точно расположить from \to

s2 = s1 & "\k" & ws.Range("e1") & ".doc"
Open s2 For Output As #1
Print #1, "<html>"


Print #1, "<meta http-equiv=""Content-Type"" content=""text/html; charset=windows-1251"">"
j1 = 1
j2 = 0
Do While j2 < 1000 And j1 < 65000
j1 = j1 + 1
If ws.Cells(j1, 5) = ws.Cells(1, 5) Then
j3 = 0
j3k = IIf(ws.Cells(j1, 4) & "" = "", 1, ws.Cells(j1, 4))

Do While j3 < j3k
j3 = j3 + 1

j2 = j2 + 1
Debug.Print j1, j2, j3

If j2 > 1 Then

Print #1, "<p align=right><font color=red>-"; Chr(12), j2; "</FONT></P>"
End If
Print #1, "<table border=0>"
Print #1, "<tr>"
Print #1, "<th align=right>From:"
Print #1, "<td colspan=2>My Company, Inc"
Print #1, "<tr>"
Print #1, "<th align=right>Index:"
Print #1, "<td>12345"
Print #1, "<tr>"
Print #1, "<th align=right>Address:"
Print #1, "<td colspan=2>1260, Universal st., Arivo, Mexico"
Print #1, "<tr>"
Print #1, "<th "
''''''''''''''''''''''''''''''''
Print #1, "<tr>"
Print #1, "<td> "
Print #1, "<tr>"
Print #1, "<td> "


Print #1, "<th align=right>To:"
Print #1, "<td >"; ws.Cells(j1, 1)
'''''''''''''''''''''''''''''''''''
Print #1, "<tr>"
Print #1, "<td>"

Print #1, "<th align=right>Index:"
Print #1, "<td>"; ws.Cells(j1, 2)
Print #1, "<tr>"
Print #1, "<td>"

Print #1, "<th align=right>Address:"
Print #1, "<td >"; ws.Cells(j1, 3)
Print #1, "</table>"
Loop
End If

Loop
Close #1
End Sub[/code]
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа