【问题标题】:Object Word.Application lotusscript对象 Word.Application lotusscript
【发布时间】:2017-03-01 10:47:53
【问题描述】:

当我尝试在 lotusscript 中使用 MS Word 对象的属性时出现错误。我的任务是在 MSWord 文档中添加背景图片,使用 lotusscript。

这就是我所拥有的:

Dim wrdApp As Variant
Dim wordFile As Variant
Dim ActiveDocument As Variant

Set wrdApp = CreateObject("Word.Application")
Set wordFile = GetObject( , "Word.Application")
filepath = "C:\TEST\" & object.Source
Call object.ExtractFile(filepath$)
wrdApp.Visible = True
Call wrdApp.activate
wrdApp.documents.open(filepath$)
Set ActiveDocument = wrdApp.activedocument

ActiveDocument.Shapes.AddPicture("C:\Users\bukhtiyarov_a\Desktop\1.jpg",_
False,True, 0,0,570,570).Select

ActiveDocument.ShapeRange.Name = "WordPictureWatermark518456249"
ActiveDocument.ShapeRange.PictureFormat.Brightness = 0.85

如何为我的图片应用 (ShapeRange.PictureFormat.Brightness = 0.85)。 谢谢!

我得到的错误是Instance member SHAPERANGE does not existActiveDocument.ShapeRange.Name = "WordPictureWatermark518456249" 行中

【问题讨论】:

  • 会发生什么?有什么错误吗?不行吗?
  • 是的,我在网上遇到了一个错误:(ActiveDocument.ShapeRange.Name = "WordPictureWatermark518456249")
  • 而错误是:实例成员SHAPERANGE不存在
  • 在我的 Word Visual Basic 编辑器中,“ShapeRange”不是 ActiveDocument 的实例成员...它是选择的实例成员...您的代码甚至无法在 Word 中本地运行,为什么要这样做在 LotusScript 中工作?并且:始终将错误添加到您的帖子中......否则,如果不知道确切的错误消息和发生的确切行,没有人愿意提供帮助。
  • 我不太了解 Word 对象模型,但它看起来像您想要的以下之一: 看起来您应该做这样的事情:mySelection =ActiveDocument。 Shapes.AddPicture("C:\Users\bukhtiyarov_a\Desktop\1.jpg",_ False,True, 0,0,570,570).Select mySelection.ShapeRange(1).Name = "WordPictureWatermark518456249" mySelection.ShapeRange(1).. PictureFormat.Brightness = 0.85

标签: lotusscript lotus


【解决方案1】:
Sub getWRDvalue(object)
    Dim wrdApp As Variant
    Dim wordFile As Variant
    Dim count As Integer

    Set wrdApp = CreateObject("Word.Application")
    filepath = "C:\TEST\" & object.Source
    Call object.ExtractFile(filepath)
    Set wordFile = GetObject(filepath , "Word.Document")
    wordFile.Application.Visible = False
    If wordFile.ProtectionType <> -1 Then
        Print "Document is protected"
    Else
        count = wordFile.Paragraphs.Count
        wordFile.Paragraphs(1).Range.Select
        rttext = wordFile.content.text  
    End If
    Call wordFile.Application.Quit()
    Set wordFile = Nothing
    Kill filepath
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多