2017-09-30 22 views
0

私はvbaを使用してExcel文書を作成し、動的に入力します(既に完了し、完全に機能しています)。私が必要とするのは、この文書内の複数の場所に署名ブロックを追加、サイズ、配置、およびプレフィルする方法(署名者、電子メール、署名自体ではない)を理解することです。
これがvbaでできるのかどうか分からない(件名の検索は役に立たなかった)が、将来的に多くの時間と面倒な作業を省くことができれば嬉しいです。これに関する援助は歓迎されるでしょう。vbaを使用して複数の署名ブロックをExcel文書に追加

答えて

1

定義済みのセル(アンカーポイント)に簡単なテキストボックスを置き、テキストで入力することができます。

パラメータとして、すべての情報を取るサブ作る実際のテキストボックス:

Sub CreateShapeText(NailToCell As Range, w_pt As Single, h_pt As Single, DTxt As String) 
Dim TB As Shape 

    ' create a text box shape 
    ' note: shapes belong to worksheets, therefore we derive a WS from cell.parent 
    Set TB = NailToCell.Parent.Shapes.AddLabel(msoTextOrientationHorizontal, NailToCell.Left, NailToCell.Top, w_pt, h_pt) 

    ' make its border visible 
    TB.Line.Visible = msoTrue 

    ' switch off that annoying auto-resize when text is entered 
    TB.TextFrame2.AutoSize = msoAutoSizeNone 

    ' enter text ... and yes - this object tree is crazy 
    TB.TextFrame2.TextRange.Characters.Text = DTxt 

    ' as it should be - text is vertical bottom 
    ' but to have more control over the TB, this could be a parameter, too 
    TB.TextFrame2.VerticalAnchor = msoAnchorBottom 

End Sub 

を、あなたがその例以下のようにコード内のどこからを呼び出すと、あなたはあなたが必要とする最低限のだここに開始するには

Sub CallCreate() 

    CreateShapeText [A1], 132, 32, "sign: me" 
    CreateShapeText [C12], 132, 32, "sign: you" 

End Sub 

現在地からそれを取ると、これらのオブジェクトは、(例えばフレームの点線の代わりに、固体、フォントサイズ、整列などの実験を行う)あなたのために何ができるか研究した場合に多くの質問に戻ってきます...

+0

私の元の投稿ではっきりしていないため、お詫び申し上げます。 Signatures.AddSignatureLine – spiralrain

+0

".Signatures.Addsignatureline"を使用すると、詳細を尋ねるための署名ボックスが表示されます。残念ながら、ドキュメントごとに28個の署名ボックスが必要です(これらのドキュメントのうち30個以上が一度に必要です)。そのため、VBAがポップアップを行わずにこれらの詳細を記入する方法を見つけようとしています。 – spiralrain

+0

* aaahh * ...少なくとも、Wordとは逆に* ggg * – MikeD

関連する問題