- Код: Выделить всё
Photo = "http://yandex.ru/lo.gif"
Set objShapePic = objWord.Application.Selection.InlineShapes.AddPicture(Photo)
P.S. Необходимо выравнять картинку по правому краю и сделать ей "положение за текстом".
Photo = "http://yandex.ru/lo.gif"
Set objShapePic = objWord.Application.Selection.InlineShapes.AddPicture(Photo)
Dim objShapeBehind As Shape
With objShapePic
.Range.ParagraphFormat.Alignment = 2 'wdAlignParagraphRight
Set objShapeBehind = .ConvertToShape
objShapeBehind.WrapFormat.Type = 5 'wdWrapBehind
End With
viter.alex писал(а):
- Код: Выделить всё
Dim objShapeBehind As Shape
With objShapePic
.Range.ParagraphFormat.Alignment = 2 'wdAlignParagraphRight
Set objShapeBehind = .ConvertToShape
objShapeBehind.WrapFormat.Type = 5 'wdWrapBehind
End With
'**************************************
'Создаем подпись
'Сначала определяем тип OC. Если он содержит Server 2003, то не устанавливаем подпись.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
strOSType = objOperatingSystem.Caption
Next
intSearchString = instr (strOSType, "Server 2003")
wscript.echo intSearchString & " OS Type: " & strOstype
'Вот теперь создаем подпись
if intSearchString = 0 then
Set objSysInfo = CreateObject("ADSystemInfo")
strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
strName = objUser.FullName
strFirstName = objUser.givenName
strLastname = objuser.sn
strTitle = objUser.Title
strDepartment = objUser.Department
strCompany = objUser.Company
strPhone = objUser.telephoneNumber
strMobile = objUser.mobile
strPublicPhone = objUser.otherTelephone
strMail = objuser.mail
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries
objSelection.Font.Size = 10
objSelection.Font.Name = "Arial"
objSelection.Font.Color = 0
objSelection.ParagraphFormat.SpaceBeforeAuto = False
objSelection.ParagraphFormat.SpaceBefore = 1
objSelection.ParagraphFormat.SpaceAfterAuto = False
objSelection.ParagraphFormat.SpaceAfter = 1
objSelection.ParagraphFormat.LineSpacingRule = wdLineSpaceSingle
'objSelection.ParagraphFormat.LineSpacing = 1
'objSelection.TypeText "Уважаем"
'objSelection.TypeParagraph()
'objSelection.TypeText " "
'objSelection.TypeParagraph()
objSelection.TypeText " "
objSelection.TypeParagraph()
objSelection.TypeText "С наилучшими пожеланиями,"
objSelection.TypeParagraph()
objSelection.TypeText " "
objSelection.TypeParagraph()
objSelection.TypeText strFirstName & " " & strLastName
objSelection.TypeParagraph()
objSelection.TypeText strTitle
objSelection.TypeParagraph()
if Instr (strTitle, "Руководитель отдела") = 0 then
select Case strDepartment
case "Отдел аналитических систем"
objSelection.TypeText strDepartment
objSelection.TypeParagraph()
case "Отдел вёрстки"
objSelection.TypeText strDepartment
objSelection.TypeParagraph()
case "Отдел дизайна"
objSelection.TypeText strDepartment
objSelection.TypeParagraph()
end select
end if
if strPhone <> "" then
objSelection.TypeText strPublicPhone & ", доб. " & strPhone
objSelection.TypeParagraph()
else
objSelection.TypeText strPublicPhone
objSelection.TypeParagraph()
end if
if strMobile <> "" then
objSelection.TypeText "Моб. " & strMobile
objSelection.TypeParagraph()
end if
objSelection.Hyperlinks.Add objSelection.range, "mailto:" & strMail, , ,LCase (strMail)
objSelection.TypeParagraph()
objSelection.Hyperlinks.Add objSelection.range, "http://www.omb.ru" , , ,"www.omb.ru"
objSelection.TypeParagraph()
Photo = "http://yandex.ru/lo.gif"
Set objShapePic = objWord.Application.Selection.InlineShapes.AddPicture(Photo)
Dim objShapeBehind As Shape
With objShapePic
.Range.ParagraphFormat.Alignment = 2 'wdAlignParagraphRight
Set objShapeBehind = .ConvertToShape
objShapeBehind.WrapFormat.Type = 5 'wdWrapBehind
End With
Set objSelection = objDoc.Range()
objSignatureEntries.Add "Yandex Signature", objSelection
objSignatureObject.NewMessageSignature = "Yandex Signature"
objSignatureObject.ReplyMessageSignature = "Yandex Signature"
objDoc.Saved = True
objWord.Quit
wscript.echo "Подпись установлена"
else
wscript.echo "Подпись не установлена!!!"
end if
'Считаем положение правого края страницы (расстояние от левого края)
With objShapePic.Range.Sections(1).PageSetup
ileft = .PageWidth - .LeftMargin - .RightMargin
End With
Set objShapeBehind = objShapePic.ConvertToShape
With objShapeBehind
'Задаем положение картинки
.Left = ileft - .Width
'Привязываем положение картинки к странице
.RelativeHorizontalPosition = 1 'wdRelativeHorizontalPositionPage
.RelativeVerticalPosition = 1 'wdRelativeVerticalPositionPage
'Обтекание текстом
.WrapFormat.Type = 5 'wdWrapBehind
End With
viter.alex писал(а):Что значит ругается? Наверное не на Dim, а на Shape? Поставь вместо Shape Object
А, понятно, ты на скрипте пишешь. ОК
Конечно выравнивается сначала абзац, потому что картинка находится в тексте (InlineShape). В предложенном мною коде картинка сначала выравнивается по правому краю (в тексте), затем пребразуется в объект Shape, который может «плавать» в документе, и уже для этого объекта задается положение «За текстом».
Можно сделать иначе. Сразу преобразовать в Shape, а затем выставить картинку так, чтобы ее правый край совпадал с правой границей текста. Вот так, как-то:
- Код: Выделить всё
'Считаем положение правого края страницы (расстояние от левого края)
With objShapePic.Range.Sections(1).PageSetup
ileft = .PageWidth - .LeftMargin - .RightMargin
End With
Set objShapeBehind = objShapePic.ConvertToShape
With objShapeBehind
'Задаем положение картинки
.Left = ileft - .Width
'Привязываем положение картинки к странице
.RelativeHorizontalPosition = 1 'wdRelativeHorizontalPositionPage
.RelativeVerticalPosition = 1 'wdRelativeVerticalPositionPage
'Обтекание текстом
.WrapFormat.Type = 5 'wdWrapBehind
End With
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8