ControlCollection.AddPictureContentControl Method (Range, String)
Adds a new PictureContentControl at the specified range in the document.
Namespace: Microsoft.Office.Tools.Word
Assembly: Microsoft.Office.Tools.Word (in Microsoft.Office.Tools.Word.dll)
Syntax
'Declaration
Function AddPictureContentControl ( _
range As Range, _
name As String _
) As PictureContentControl
PictureContentControl AddPictureContentControl(
Range range,
string name
)
Parameters
- range
Type: Microsoft.Office.Interop.Word.Range
A Range that provides the bounds for the new control.
- name
Type: System.String
The name of the new control.
Return Value
Type: Microsoft.Office.Tools.Word.PictureContentControl
The PictureContentControl that was added to the document.
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | name is nulla null reference (Nothing in Visual Basic) or has zero length. |
ControlNameAlreadyExistsException | A control with the same name is already in the ControlCollection. |
Remarks
Use this method to add a new PictureContentControl at a specified range in the document at run time. For more information, see Adding Controls to Office Documents at Run Time.
Examples
The following code example adds a new PictureContentControl to the beginning of the document. This example assumes that a file named picture.bmp exists in the %UserProfile%\My Documents folder (for Windows XP and earlier) or the %UserProfile%\Documents folder (for Windows Vista).
This version is for a document-level customization. To use this code, paste it into the ThisDocument class in your project, and call the AddPictureControlAtRange method from the ThisDocument_Startup method.
Dim pictureControl2 As Microsoft.Office.Tools.Word.PictureContentControl
Dim bitmap2 As System.Drawing.Bitmap
Private Sub AddPictureControlAtRange()
Me.Paragraphs(1).Range.InsertParagraphBefore()
pictureControl2 = Me.Controls.AddPictureContentControl(Me.Paragraphs(1).Range, "pictureControl2")
Dim imagePath As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments & _
"\picture.bmp"
bitmap2 = New System.Drawing.Bitmap(imagePath, True)
pictureControl2.Image = bitmap2
End Sub
private Microsoft.Office.Tools.Word.PictureContentControl pictureControl2;
private System.Drawing.Bitmap bitmap2;
private void AddPictureControlAtRange()
{
this.Paragraphs[1].Range.InsertParagraphBefore();
pictureControl2 = this.Controls.AddPictureContentControl(
this.Paragraphs[1].Range, "pictureControl2");
string imagePath = System.Environment.GetFolderPath(
Environment.SpecialFolder.MyDocuments) + "\\picture.bmp";
bitmap2 = new System.Drawing.Bitmap(imagePath, true);
pictureControl2.Image = bitmap2;
}
This version is for an application-level add-in that targets the .NET Framework 4. To use this code, paste it into the ThisAddIn class in your project, and call the AddPictureControlAtRange method from the ThisAddIn_Startup method.
Dim pictureControl2 As Microsoft.Office.Tools.Word.PictureContentControl
Dim bitmap2 As System.Drawing.Bitmap
Private Sub AddPictureControlAtRange()
If Me.Application.ActiveDocument Is Nothing Then
Return
End If
Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
vstoDoc.Paragraphs(1).Range.InsertParagraphBefore()
pictureControl2 = vstoDoc.Controls.AddPictureContentControl( _
vstoDoc.Paragraphs(1).Range, "pictureControl2")
Dim imagePath As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments & _
"\picture.bmp"
bitmap2 = New System.Drawing.Bitmap(imagePath, True)
pictureControl2.Image = bitmap2
End Sub
private Microsoft.Office.Tools.Word.PictureContentControl pictureControl2;
private System.Drawing.Bitmap bitmap2;
private void AddPictureControlAtRange()
{
if (this.Application.ActiveDocument == null)
return;
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
vstoDoc.Paragraphs[1].Range.InsertParagraphBefore();
pictureControl2 = vstoDoc.Controls.AddPictureContentControl(
vstoDoc.Paragraphs[1].Range, "pictureControl2");
string imagePath = System.Environment.GetFolderPath(
Environment.SpecialFolder.MyDocuments) + "\\picture.bmp";
bitmap2 = new System.Drawing.Bitmap(imagePath, true);
pictureControl2.Image = bitmap2;
}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
See Also
Reference
AddPictureContentControl Overload
Microsoft.Office.Tools.Word Namespace
Other Resources
Adding Controls to Office Documents at Run Time