VBA从Excel到word移动形状

时间:2017-06-03 10:54:54

标签: excel vba excel-vba ms-word

我正在尝试创建一个可以在word中移动形状的VBA宏。 例如,当用户在Excel中输入一个值userform = 43并且clik valide时,单词中的形状移动43步 我在Excel中尝试了这个并且我成功地制作了代码,但是在单词中移动它我没有找到我如何尝试了很多东西但是如果有些人可以帮助我。 这是我的代码

Sub lacro1()
rep_count = 0
width_variable = 10
Do
DoEvents
rep_count = rep_count + 1
width_variable = width_variable + 6
Sheets("Feuil1").Shapes("Connecteur droit 2").Left = 
Sheets("Feuil1").Range("A2").Value
timeout (0.01)
Loop Until rep_count = Sheets("Feuil1").Range("A2").Value

End Sub
Sub timeout(duration_ms As Double)
Start_Time = Timer
Do
DoEvents
Loop Until (Timer - Start_Time) >= duration_ms

End Sub

我想要的是根据excel中的值移动位于单词.doc中的形状

1 个答案:

答案 0 :(得分:1)

这对我有用

Sub Sample()
    Dim oWordApp As Object, oWordDoc As Object
    Dim shp As Object

    '~~> Establish an Word application object
    On Error Resume Next
    Set oWordApp = GetObject(, "Word.Application")

    If Err.Number <> 0 Then
        Set oWordApp = CreateObject("Word.Application")
    End If
    Err.Clear
    On Error GoTo 0

    oWordApp.Visible = True

    Set oWordDoc = oWordApp.Documents.Open("C:\Users\Siddharth\Desktop\Sid.Docx")

    Set shp = oWordDoc.Shapes(1)

    With shp
        .Left = 80
        .Top = 40
    End With
End Sub

<强>截图 enter image description here