2013-07-08 2 views
0

Я пытался адаптировать метод, показанный здесь: http://support.microsoft.com/kb/246299, так что я могу создать кнопку команды в слове, которая сохранит документ и удалит себя при нажатии. Однако мне не удалось выяснить, как изменить положение кнопки по умолчанию в верхнем левом углу первой страницы. В идеале я хотел бы, чтобы кнопка была сгенерирована в конце документа и была выровнена по центру или была помещена в позицию курсора.Задание местоположения inlinehape в MS Word (VBA)

Любые советы будут очень высоко ценится :)

Спасибо.

Мой код проекта VB.NET до сих пор:

Dim shp As Word.InlineShape 

shp = wrdDoc.Content.InlineShapes.AddOLEControl(ClassType:="Forms.CommandButton.1") 

shp.OLEFormat.Object.Caption = "Save To Disk" 

shp.Width = "100" 

'Add a procedure for the click event of the inlineshape 

Dim sCode As String 

sCode = "Private Sub " & shp.OLEFormat.Object.Name & "_Click()" & vbCrLf & _ 

"ActiveDocument.SaveAs(""" & sOutFile & """)" & vbCrLf & _ 

"On Error GoTo NoSave" & vbCrLf & _ 

"MsgBox ""Document Saved Successfully""" & vbCrLf & _ 

"Dim o As Object" & vbCrLf & _ 

"For Each o In ActiveDocument.InlineShapes" & vbCrLf & _ 

"If o.OLEFormat.Object.Name = ""CommandButton1"" Then" & vbCrLf & _ 

"o.Delete" & vbCrLf & _ 

"End If" & vbCrLf & _ 

"Next" & vbCrLf & _ 

"Exit Sub" & vbCrLf & _ 

"NoSave:" & vbCrLf & _ 

"MsgBox ""Document Failed To Save""" & vbCrLf & _ 

"End Sub" 

wrdDoc.VBProject.VBComponents("ThisDocument").CodeModule.AddFromString(sCode) 

wrdApp.Visible = True 

ответ

0

Пока все еще работает просто установить shp.left = 250 и shp.top = 1200

и т.д. и т.п.

Как и в VB, когда вы помещаете кнопку. Для получения более подробной информации о точных вызовах вы должны ссылаться на эту страницу: http://msdn.microsoft.com/en-us/library/office/hh965406%28v=office.14%29.aspx

Но сказать отцентрировать кнопку вы можете установить слева, чтобы быть (doc.width - shape.width)

Но слово кнопки позволяют значительно более сложный стиль и настройка.

Смежные вопросы