Łukasz Małek

Łukasz Małek E-commerce project
manager

Temat: Dodawanie zdjęć z internetu

Witam,

Czy znacie sposób na bezpośrednie dodanie zdjęcia z linku?

Mam kolumnę z linkami do zdjęć i chciałbym aby obok niej znajdowała się kolumna ze zdjęciami produktów pochodzącymi z tych linków.
Tomasz Gryzio

Tomasz Gryzio Dyrektor
zarządzający/Trener/
Konsultant - It
School

Temat: Dodawanie zdjęć z internetu

Witam,

Znamy.
0. Potrzebujemy kod w VBA, który będzie w stanie na podstawie danych z tabeli dostać się do każdego jednego linka do zdjęcia
Przykład - http://msdn.microsoft.com/en-us/library/bb243789%28v=o...:

Sub UpdateEmployees()

Dim dbsNorthwind As DAO.Database
Dim rstEmployees As DAO.Recordset
Dim strSQL As String
Dim intI As Integer

On Error GoTo ErrorHandler

Set dbsNorthwind = CurrentDb

'Open a recordset on all records from the Employees table that have
'a Null value in the ReportsTo field.
strSQL = "SELECT * FROM Employees WHERE ReportsTo IS NULL"
Set rstEmployees = dbsNorthwind.OpenRecordset(strSQL, dbOpenDynaset)

'If the recordset is empty, exit.
If rstEmployees.EOF Then Exit Sub

intI = 1
With rstEmployees
Do Until .EOF
.Edit
![ReportsTo] = 5
![Title] = "Temporary"
![Notes] = rstEmployees![Notes] & "Temp #" & intI
.Update
.MoveNext
intI = intI + 1
Loop
End With

RstEmployees.Close
dbsNorthwind.Close

Set rstEmployees = Nothing
Set dbsNorthwind = Nothing

Exit Sub

ErrorHandler:
MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Sub


1. Potrzebujemy kod w VBA, który będzie w stanie ściągnąć na podstawie linka plik ze zdjęciem na dysk
Przykład - http://www.ozgrid.com/forum/showthread.php?t=141980:

Option Explicit


Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long

Private Const ERROR_SUCCESS As Long = 0
Private Const BINDF_GETNEWESTVERSION As Long = &H10
Private Const INTERNET_FLAG_RELOAD As Long = &H80000000

Public Function DownloadFile(sSourceURL As String, _
sLocalFile As String) As Boolean
DownloadFile = URLDownloadToFile(0&, _
sSourceURL, _
sLocalFile, _
BINDF_GETNEWESTVERSION, _
0&) = ERROR_SUCCESS

End Function

Sub RunPPT()
Dim sURL As String
Dim sLocalFile As String
Dim sDestination As String
Dim sText As String
Dim PPTShape
sText = "http://www.informationactive.com/affiliates/ad-180x60-2.gif"
sURL = sText
sLocalFile = "c:\test\PPTImage.jpg"
DownloadFile sURL, sLocalFile
End Sub


2. Potrzebujemy kod, który wstawi zdjęcie z dysku do bazy danych.
Przykład - http://www.access-programmers.co.uk/forums/showthread....:

On Error GoTo Err_AddImage

Dim db As DAO.Database
Dim rsParent As DAO.Recordset2
Dim rsChild As DAO.Recordset2

Set db = CurrentDb
Set rsParent = Me.Recordset

rsParent.Edit

Set rsChild = rsParent.Fields("AttachmentTest").Value

rsChild.AddNew
rsChild.Fields("FileData").LoadFromFile ("c:\Sunset.jpg")

rsChild.Update
rsParent.Update

Exit_AddImage:

Set rsChild = Nothing
Set rsParent = Nothing
Exit Sub

Err_AddImage:

If Err = 3820 Then
MsgBox ("File already part of the multi-valued field!")
Resume Next

Else
MsgBox "Some Other Error occured!", Err.Number, Err.Description
Resume Exit_AddImage

End If

3. Potrzebujemy kod, który uruchomi kod nr 0 i nr 1 i nr 2 w momencie kiedy... należy je uruchomić.
Przykład - kod uruchamiający makra w momencie załadowania formularza:

Private Sub Form_Load()
On Error GoTo err_Form_Load
Call makroprzegladajacetabele
...
Call makroaktualizujace
Exit Sub
err_Form_Load:
MsgBox "Some Other Error occured!", Err.Number, Err.Description
End Sub

4. Można również pomyśleć nad kodem usuwającym zdjęcia z dysku - http://word.mvps.org/faqs/macrosvba/DeleteFiles.htm

Pozdrawiam!Ten post został edytowany przez Autora dnia 29.12.14 o godzinie 22:26



Wyślij zaproszenie do