Wątek przeniesiony 2021-09-16 10:17 z Inne języki programowania przez cerrato.

VBA - skrypt do wstawiania obrazków

0

Cześć!
Czy wiecie jak napisać prosty skrypt do excela lub calca,
który w miejsce gdzie jest dokładny link do obrazka w internecie wstawi mi w komórkę ten obrazek?
Dodam jeszcze że obrazki mają max 250x30px rozmiaru.

1

Poniższy kod pobiera url z A1 i wstawia obrazek w A1.

Sub PobierzObraz(strUrl As String, rngGdzie As Range)
 
   With rngGdzie.Parent
      .Pictures.Insert strUrl
      .Shapes(.Shapes.Count).Left = rngGdzie.Left
      .Shapes(.Shapes.Count).Top = rngGdzie.Top
   End With
 
End Sub

Sub Test()
 
    Call PobierzObraz(ActiveSheet.Range("A1").Value, ActiveSheet.Range("A1"))
 
End Sub

0

A jak można dać to w pętle i wykonać program dla powiedzmy A1-A280 ?

1

Działa od A1 to pierwszego wiersza, który nie będzie miał linka (będzie pusty).

Sub PobierzObraz(strUrl As String, rngGdzie As Range)
 
   With rngGdzie.Parent
      .Pictures.Insert strUrl
      .Shapes(.Shapes.Count).Left = rngGdzie.Left
      .Shapes(.Shapes.Count).Top = rngGdzie.Top
   End With
 
End Sub

Sub TestPetli()
 ActiveSheet.Range("A1").Select
 
 Do Until Len(ActiveCell.Value) = 0
 
    Call PobierzObraz(ActiveCell.Value, ActiveSheet.Range(ActiveCell.Address))
    
    ActiveCell.Offset(1, 0).Select
Loop

MsgBox "koniec"

End Sub
0

A czy za pomocą makra można współpracować z innymi programami?
Chodzi mi o to czy dało by radę zrobić coś co pobiera obrazek, przepuszcza przez program OCR i zastępuje link do obrazka tekstem?

0

Pewnie dałoby radę, ale musisz mieć do tego program do OCR, który można obsługiwać z wiersza poleceń. Wtedy wystarczy odpalić ten program z odpowiednimi parametrami za pomocą Shell, albo ShellExecute: http://www.suodenjoki.dk/us/productions/articles/vbashellexecute.htm

1 użytkowników online, w tym zalogowanych: 0, gości: 1