Windows 7、Excel 2013 を使用しています。私は VBA を初めて使用し、他の質問とは異なる解決策を試すのに何時間も費やしました。
これは、フォームとして使用される Excel ドキュメントにデジタル署名を挿入するために現在使用しているコードです。
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 208.3333070866, 659.1666929134, _
243.3333858268, 38.3333070866).Select
Selection.ShapeRange.ScaleWidth 1.0787668906, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 1.0217405147, msoFalse, _
msoScaleFromBottomRight
Selection.ShapeRange.Line.Visible = msoFalse
With Selection.ShapeRange.Fill
.Visible = msoTrue
.UserPicture "C:\Users\msporney\Documents\Signature.jpg"
.TextureTile = msoFalse
.RotateWithObject = msoTrue
私の問題: このワークブックを他のユーザーと共有しているときに、コードが正常に動作します。ドキュメント フォルダに同じファイル「signature.jpg」がありますが、このコードは私のマシン (msporney) のみを参照しています。ファイルの場所 (C:\users\anybody) への相対参照が必要です。
私はもう試した:
.UserPicture "C:\users\\Documents\Signature.jpg"
.UserPicture "C:\users\.\Documents\Signature.jpg"
.UserPicture "C:\users\\Documents\Signature.jpg"
.UserPicture "\..\Documents\Signature.jpg"
いつも同じエラーが発生します:実行時エラー '-2147024893 (800700003)': オブジェクト "FillFormat' のメソッド "UserPicture" が失敗しました