< návrat zpět
MS Excel
Téma: pictures.insert/shapes.addpicture qr+datamatrix
Zaslal/a Honza.101658 22.7.2018 18:21
Dobry den,
resim problem s funkci pro vkladani obrazku, resp. s jeho naslednym umistenim...
varianta pictures.insert - funguje spravne:
Dim target As Range, data As String
Set target = ActiveCell
data = ActiveCell.Offset(0, -1).Text
With target.Worksheet.Pictures.Insert("https://chart.apis.google.com/chart?chl=" & Replace(data, " ", "%20") & "&chs=300x300&cht=qr&chld=h|1&choe=ISO-8859-1/chart.png")
With .ShapeRange
.AlternativeText = data
.LockAspectRatio = msoTrue
.Width = Application.CentimetersToPoints(2)
.Height = Application.CentimetersToPoints(2)
End With
.Name = "QR_" & target.Address(0, 0)
.Left = target.Left + (target.Width - .Width)
.Top = target.Top + (target.Height - .Height) / 2
.Placement = 1
.PrintObject = True
End With
varianta s shapes.addpicture - nefunguje posun obrazku na pravy okraj bunky - parameter .Left se chova jinak nez v kodu nahore...
With target.Worksheet.Shapes.AddPicture("https://chart.apis.google.com/chart?chl=" & Replace(data, " ", "%20") & "&chs=300x300&cht=qr&chld=h|1&choe=ISO-8859-1/chart.png", False, True, 0, 0, -1, -1)
.AlternativeText = data
.LockAspectRatio = msoTrue
.Width = Application.CentimetersToPoints(2)
.Height = Application.CentimetersToPoints(2)
.Name = "QR_" & target.Address(0, 0)
.Left = target.Left + (target.Width - .Width)
.Top = target.Top + (target.Height - .Height) / 2
.Placement = 1
.PrintObject = True
End With
1/ muzete rict, kde delam ve druhe variante chybu?
2/ neznate nekdo online api i pro datamatrix tak jako pouzivam google api pro qr kody? protoze pokud ne, chtel bych pouzit strokescribe activex a k tomu potrebuju mit funkcni metodu s shapes.addoleobject
Diky moc za napady. Honza
Honza53(9.8.2018 16:14)#041119 Ten kód vypadá v pořádku, nejspíš to bude jedna z chyb Office. V něm (a v celých Windows) každý řádek programoval někdo jiný, tak se povinně stejné akce chovají různě.
Mám podobnou zkušenost: V Excelu pomocí VBA z formuláře beru střídavě texty a obrázky a vkládám to do Wordu. Protože programem řízený Clipboard funguje správně, jen když se mu zachce, musím obrázky trapně ukládat do dočasného souboru na disku a do Wordu je číst. To v mém případě jde dvěma způsoby, které mají dát tentýž výsledek, ale tak to není. Jeden způsob správně umístí obrázky střídavě s textem, ten druhý všechny obrázky plácne na konec textu.
Hlavně že Microsoft ve své nekonečné naduté samolibosti vyhlašuje, že chyby opraví, jen když se mu výjimečně zachce.
citovat