私は仕事で何かをするように頼まれました。Windows ではなく Ubuntu を実行しているので、Libre Office を持っています (LO Writer は Word に相当します)。- タスクは、いくつかの契約を自動化することです。ドキュメントは、ドキュメントごとに変更されるいくつかの変数を除いて、90% は同じままです。
まず第一に、基本は悪夢であり、一般的に、このマクロ作成プロセス全体もかなりひどいものです。
「コード」に進みます-エラーが発生し続けますがBASIC error: Argument is not optional
、私がやろうとしているのは、2つの配列を別の関数に渡すことだけです:
Function test ( ByVal changeFrom() As String ,ByVal changeTo() As String )
Dim I As Long
Dim Doc As Object
Dim Replace As Object
Doc = ThisComponent
Replace = Doc.createReplaceDescriptor
For I = 0 To 2
Replace.SearchString = changeFrom(I) //Error is here
Replace.ReplaceString = changeTo(I)
Doc.replaceAll(Replace)
Next I
End Function
REM ***** BASIC *****
Sub main
Dim changeFrom(3) As String
Dim changeTo(3) As String
changeFrom() = Array("<word2>", "<word3>", "<word1>")
changeTo() = Array("value1", "value2", "value3")
test( changeFrom , changeTo)
End Sub
一般的 -
本当に私を夢中にさせている「基本」以外に、これを行うためのより良い方法を知っている人はいますか.. Pythonで実行できることは理解していますが、もっと簡単な方法があればいいのにと思います。問題はWord文書ですテーブルと定義する必要があるものがあるため、テンプレートをコピーしてJavaクラスに貼り付けて変更することはできません..
ありがとう!