VBA从Excel到word移动形状

VBA从Excel到word移动形状,vba,excel,ms-word,Vba,Excel,Ms Word,我正在尝试创建一个VBA宏来移动word中的形状。 例如,当用户在Excel userform=43中输入一个值并在word移动43步骤中对形状进行clik valid时 我在Excel中尝试了这一点,我成功地编写了代码,但在word中移动它时,我没有发现我是如何尝试了很多东西的,但如果有人能帮助我的话。 这是我的密码 Sub lacro1() rep_count = 0 width_variable = 10 Do DoEvents rep_count = rep_count + 1 widt

我正在尝试创建一个VBA宏来移动word中的形状。 例如,当用户在Excel userform=43中输入一个值并在word移动43步骤中对形状进行clik valid时 我在Excel中尝试了这一点,我成功地编写了代码,但在word中移动它时,我没有发现我是如何尝试了很多东西的,但如果有人能帮助我的话。 这是我的密码

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中的值移动word.doc中的形状这对我很有用

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
子样本()
将oWordApp作为对象,将oWordDoc作为对象
将小水电作为对象
“~~>建立Word应用程序对象
出错时继续下一步
Set oWordApp=GetObject(,“Word.Application”)
如果错误号为0,则
设置oWordApp=CreateObject(“Word.Application”)
如果结束
呃,明白了
错误转到0
oWordApp.Visible=True
设置oWordDoc=oWordApp.Documents.Open(“C:\Users\Siddharth\Desktop\Sid.Docx”)
设置shp=oWordDoc.Shapes(1)
小水电
.左=80
.Top=40
以
端接头
屏幕截图 这对我来说很有用

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
子样本()
将oWordApp作为对象,将oWordDoc作为对象
将小水电作为对象
“~~>建立Word应用程序对象
出错时继续下一步
Set oWordApp=GetObject(,“Word.Application”)
如果错误号为0,则
设置oWordApp=CreateObject(“Word.Application”)
如果结束
呃,明白了
错误转到0
oWordApp.Visible=True
设置oWordDoc=oWordApp.Documents.Open(“C:\Users\Siddharth\Desktop\Sid.Docx”)
设置shp=oWordDoc.Shapes(1)
小水电
.左=80
.Top=40
以
端接头
屏幕截图

大家好,我的保护程序每天都在运行,我想试试,但是如何将它附加到特定的形状上,因为在该文档中有很多形状,您需要知道形状的名称才能使用它:)例如
Set shp=oWordDoc.Shapes(“形状名称”)
我知道我的要求很高,但我如何才能找到它的名称呢?因为它不像excel那样,你可以读取任何类型的形状的名称。我将分享我在堆栈中得到的每一个想法,也许有人正在寻找这种解决方案。你好,我的储蓄器,每天,我想试试,但是如何将它附加到特定的形状上,因为在该文档中有很多形状你需要知道形状的名称才能使用它:)例如
Set shp=oWordDoc.Shapes(“形状名称”)
我知道我的要求很高,但我如何才能找到它的名称,因为它不像excel那样,你可以读取任何类型的shapeI的名称。我将分享我在堆栈中得到的每一个想法,也许有人在寻找这种解决方案