2016-11-11 12 views
-3

Я хочу хранить все изображения документа Word в базе данных sql. Я нашел несколько примеров кода, чтобы проанализировать изображения через коллекцию InlineShapes, которые отлично работают. Тем не менее, теперь я не вижу примера о том, как сохранить изображение в столбце изображения сервера sql.Хранить изображения слова документа в базе данных sql

Может ли кто-нибудь опубликовать пример, в котором хранится объект InlineShape в базе данных. Либо использовать объект command или recordset?

Update: Вот код

Sub SavePictures() 

Dim SQL As String 
Dim RS As ADODB.Recordset 
Dim cnBon As ADODB.Connection 
Dim intCount As Integer 
Dim i As Integer 

SQL = "Select [ID] ,[Datei] ,[Seite] ,[Bild] from Bilder Where 1=0" 

strConn = "working Connection string" 

Set cnBon = New ADODB.Connection 
cnBon.Open strConn 


Set RS = CreateObject("ADODB.Recordset") 
RS.Open SQL, cnBon, adOpenKeyset, adLockOptimistic, adCmdText 


    For i = 1 To InlineShapes.Count 

     If InlineShapes.Item(i).Type = wdInlineShapePicture Then 

      RS.AddNew 


      RS("Datei") = ActiveDocument.Name 
      RS("Seite") = i 
      'This is where I'm stuck. How do I Access the Picture to save it in the Recordset? 
      RS("Bild") = InlineShapes.Item(i) 

      RS.Update 

     End If 
    Next i 


RS.Close 
cnBon.Close 

Set RS = Nothing 
Set cbbon = Nothing 

End Sub 

ответ

0

Вот рабочий код

Sub SavePictures() 

Dim SQL As String 
Dim RS As ADODB.Recordset 
Dim cnBon As ADODB.Connection 
Dim intCount As Integer 
Dim i As Integer 

SQL = "Select [ID] ,[Datei] ,[Seite] ,[Bild] from Bilder Where 1=0" 

strConn = "working Connection string" 

Set cnBon = New ADODB.Connection 
cnBon.Open strConn 


Set RS = CreateObject("ADODB.Recordset") 
RS.Open SQL, cnBon, adOpenKeyset, adLockOptimistic, adCmdText 


    For i = 1 To InlineShapes.Count 

     If InlineShapes.Item(i).Type = wdInlineShapePicture Then 

      RS.AddNew 


      RS("Datei") = ActiveDocument.Name 
      RS("Seite") = i 
      'This is where I'm stuck. How do I Access the Picture to save it in the Recordset? 
      RS("Bild") = InlineShapes.Item(i).Range.EnhMetaFileBits 

      RS.Update 

     End If 
    Next i 


RS.Close 
cnBon.Close 

Set RS = Nothing 
Set cbbon = Nothing 

End Sub