2014-10-01 154 views
2

嗨,我希望從圖片框插入圖像到.doc文件。我能夠將圖像存入文件,並且可以正確保存,但是我無法處理圖像的位置。我希望將圖像放在模板.doc中存在的表格中,但它總是在第一個表格的第一個單元格中結束。將圖片插入word文檔

Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click 
     Dim objWordApp As Word.Application 
     objWordApp = New Word.Application 
     Dim objDoc As Word.Document 

     objWordApp.Documents.Open("" & Form2.TextBox1.Text & "\capatext\temlate.doc") 
     objDoc = objWordApp.ActiveDocument 

     'Open an existing document. 


     objDoc.Content.Find.Execute(FindText:="<<srce>>", _ 
ReplaceWith:=Form1.TextBox15.Text, _ 
Replace:=Word.WdReplace.wdReplaceAll) '''''' 
     Dim oldbitmap As Bitmap = New Bitmap(Form1.PictureBox1.Image) 
     Dim newbitmap As Bitmap = New Bitmap(CInt(100%), CInt(100%)) 
     Dim g As Graphics = Graphics.FromImage(newbitmap) 
     g.DrawImage(oldbitmap, 0, 0, newbitmap.Width, newbitmap.Height) 
     Dim pathToSavedImage As String = "" & Form2.TextBox1.Text & "\capatext\tempimg1.jpg" 
     newbitmap.Save(pathToSavedImage) 
     oldbitmap.Dispose() 
     newbitmap.Dispose() 
     g.Dispose() 

     Dim ObjPic As Microsoft.Office.Interop.Word.InlineShape = objDoc.InlineShapes.AddPicture(pathToSavedImage) 
     Dim oldCopy As String 
     oldCopy = ("" & Form2.TextBox1.Text & "\" & Form1.TextBox1.Text & ".doc") 
     If System.IO.File.Exists(oldCopy) = True Then 
      System.IO.File.Delete(oldCopy) 
     ElseIf System.IO.File.Exists(oldCopy) = False Then 
     End If 
     objWordApp.Quit() 
     objWordApp = Nothing 
     Timer1.Start() 
    End Sub 
+0

也許你可以簡化您的代碼段一點,所以這是它更容易找出什麼地方出了錯.... – 2014-10-01 12:30:39

+0

好這樣做我刪除所有這些都不相關。 – user1362134 2014-10-01 12:55:49

+0

它每次都將圖片放在文檔的開頭。 – user1362134 2014-10-01 12:56:09

回答

1

你好,這裏是我工作的代碼

If Form1.CheckBox4.CheckState.Equals(CheckState.Checked) Then 

      Dim oldbitmap As Bitmap = New Bitmap(Form1.PictureBox1.Image) 
      Dim newbitmap As Bitmap = New Bitmap(CInt(100%), CInt(100%)) 
      Dim g As Graphics = Graphics.FromImage(newbitmap) 
      g.DrawImage(oldbitmap, 0, 0, newbitmap.Width, newbitmap.Height) 
      Dim pathToSavedImage As String = "" & Form2.TextBox1.Text & "\capatext\tempimg1.jpg" 
      newbitmap.Save(pathToSavedImage) 

      oldbitmap.Dispose() 
      newbitmap.Dispose() 
      g.Dispose() 

      objDoc.Tables(1).Cell(4, 1).Range.InlineShapes.AddPicture(_ 
      FileName:=pathToSavedImage, LinkToFile:=False) 
     Else 
     End If 
     Dim oldCopy As String 
     oldCopy = ("" & Form2.TextBox1.Text & "\" & Form1.TextBox1.Text & ".doc") 
     If System.IO.File.Exists(oldCopy) = True Then 
      System.IO.File.Delete(oldCopy) 
     ElseIf System.IO.File.Exists(oldCopy) = False Then 
     End If 
     objWordApp.Documents.Item(1).Save() 
     objWordApp.Quit() 
     objWordApp = Nothing 

     Timer1.Start()