PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزشي: قرار دادن عکس از یک آدرس در اکسل



Amir Ghasemiyan
2016/08/05, 18:56
با سلام خدمت دوستان عزیز
در این آموزش قصد دارم نحوه قرار دادن یک عکس در اکسل رو از طریق آدرس عکس (لینک عکس) به شما توضیح بدم.

چند روش برای این منظور وجود داره. ساده ترین روش اینه که خود عکس رو دقیقا وارد اکسل کنیم (شبیه حالتی که عکس در سیستم هست و ما از طریق insert picture عکس رو وارد شیت میکنیم. (روش 1)
در حالت بعدی ما میتونیم عکس رو بعنوان یک کامنت به سلول اضافه کنیم. در این روش هر سلولی که انتخاب شده باشه یک کامنت بهش اضافه میشه و داخل کامنت عکس مورد نظر لود میشه (روش 2)
در روش بعدی ما میتونیم عکس رو داخل یک shape اضافه کنیم. اشکالی که قابلیت fill دارند مثل مستطیل یا بیضی یا ... میتونیم عکس رو داخل اون اشیاء اضافه کنیم (روش 3)
حالت های دیگه هم شبیه همین سه روش هست که دیگه از توضیح اونها صرف نظر میکنم
حالا بریم سراغ کدهایی که باید نوشته بشه
روش اول:


Sub InsertPicture()
v = Range("A1").Value
ActiveSheet.Pictures.Insert (v)
End Sub




روش دوم:


Sub InsertCommentImage()
Dim commentBox As Comment
' Clear any comments before attempting to add them.
ActiveCell.ClearComments
' Define the comment as a local variable and assign the file name from the
' cellAddress input parameter to the comment of a cell.
url_path = Range("A1").Value
Set commentBox = Application.ActiveCell.AddComment
With commentBox
.Text Text:=""
With .Shape
.Fill.UserPicture (url_path)
.ScaleHeight 3, msoFalse, msoScaleFromTopLeft
.ScaleWidth 2.4, msoFalse, msoScaleFromTopLeft
End With
' Set the visible to True when you always want the image displayed, and
' to False when you want it displayed only when you click on the cell.
.Visible = False
End With
End Sub



آدرس عکس در سلول A1 نوشته شده


روش سوم:


Private Declare PtrSafe 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 Sub InsertInFrame()
Dim url_path As String
Dim file_path As String
url_path = Range("A1").Value
file_path = ThisWorkbook.Path & "\" & "Image.png"
' Download picture
DownloadfromWeb = URLDownloadToFile(0, url_path, file_path, 0, 0)
' Load picture
With ActiveSheet.Shapes("Rectangle 1").Fill
.Visible = msoTrue
.UserPicture file_path
.TextureTile = msoFalse
End With
' Delete Saved file
Kill file_path
End Sub



آدرس عکس در سلول A1 نوشته شده


در این قسمت نام شیء که اضافه کردین رو مینویسید

fokker
2016/08/06, 09:47
با سلام ممنون از لطفتون . لطفا اگر امکان داره برای هر کدام از حالت ها نمونه بگذارید .تشکر

Amir Ghasemiyan
2016/08/06, 17:33
فایل نمونه پیوست شد

fokker
2016/08/07, 11:57
با سلام مجدد.

ممنون بابت نمونه ارسالی.

در موقع باز کردن فایل با یک پیغام خطا مواجه میشم . لطفا در صورت امکان بررسی فرمائید. (تصویر خطا پیوست شده است) تشکر

fokker
2016/08/07, 12:16
سری بعدی پیام ها

Amir Ghasemiyan
2016/08/07, 13:35
با سلام مجدد.

ممنون بابت نمونه ارسالی.

در موقع باز کردن فایل با یک پیغام خطا مواجه میشم . لطفا در صورت امکان بررسی فرمائید. (تصویر خطا پیوست شده است) تشکر

دوست عزیز عبارت PtrSafe برای سیستم های 64 بیتی استفاده میشه. اگر سیستم شما 32 بیتی (x86) است لطفا این عبارت رو بردارید تا مشکل برطرف شود

در مورد سایر خطاهایی که دریافت کردین علت اینه که یا آدرس عکس اشتباهه یا اینکه در سلول A1 قرار ندادین. اگر به آموزش توجه کرده باشید من قسمتی که باید آدرس سلول رو مشخص کنید با رنگ قرمز مشخص کردم

مهندس تبریزی
2019/07/14, 03:45
سلام استاد عالی بود متشکرم