مشكل آدرس دهی

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ظهور 313

    • 2017/01/20
    • 244

    پرسش مشكل آدرس دهی

    سلام خدمت دوستان عزیز
    ممنون میشم اگر مشكل این كد را بفرمایید
    در مسید فایل اصلی، یك پوشه با نام ثابت دارم كه داخل این پوشه، یك پوشه دیگه ونهایتا داخل این پوشه نهایی، پوشه‌های متعددی هست كه طبق كد ملی افراد شماره‌گذاری شده و داخل پوشه هر فرد، یك عكس وجود داره كه اسمش همون كد ملی است، مقدار این كد ملی از مقدار لیست باكس گرفته میشه
    حالا میخوام این عكس رو در فرم لود كنم اما خطا میده

    LblPic.Picture = LoadPicture(Workbooks("esme aazam").Path & "\asnad\pic\ListBox1.Value" & ListBox1.Value & ".JPG")
  • M_ExceL

    • 2018/04/23
    • 677

    #2
    با سلام
    لطفا نمونه ای از فایلتون را پیوست کنید تا بررسیش کنیم
    [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
    [/CENTER]

    کامنت

    • mrhartsclube

      • 2017/11/15
      • 130
      • 81.00

      #3
      نوشته اصلی توسط ظهور 313
      سلام خدمت دوستان عزیز
      ممنون میشم اگر مشكل این كد را بفرمایید
      در مسید فایل اصلی، یك پوشه با نام ثابت دارم كه داخل این پوشه، یك پوشه دیگه ونهایتا داخل این پوشه نهایی، پوشه‌های متعددی هست كه طبق كد ملی افراد شماره‌گذاری شده و داخل پوشه هر فرد، یك عكس وجود داره كه اسمش همون كد ملی است، مقدار این كد ملی از مقدار لیست باكس گرفته میشه
      حالا میخوام این عكس رو در فرم لود كنم اما خطا میده

      LblPic.Picture = LoadPicture(Workbooks("esme aazam").Path & "\asnad\pic\ListBox1.Value" & ListBox1.Value & ".JPG")
      سلام دوست عزیز

      این کد به چند دلیل میتونه پیغام خطا بده (که بهتر بود یا فایل میذاشتین یا عکس پیغام خطا):

      1. به احتمال زیاد انتهای نام فایل Extension نیاز هست، یعنی: "esme aazam.xlsm"
      2. در بخشی که آدرس رو Concatenate کردین به مقدار Path ورکبوکتون داره دنبال یه پوشه به اسم asnad و داخلش pic و داخلش ListBox1.Value میگرده که مسلما وجود نداره. اگه میخواین از مقدار لیست باکستون استفاده کنید نه کلمه ListBox1.Value حتما از دابل کوتیشن درش بیارین یعنی
        کد:
        "\asnad\pic\" & ListBox1.Value
      3. در نهایت حس میکنم ListBox1.Value به اشتباه دوبار آورده شده، یعنی یه بارش کافی بوده.
      4. و اینکه من این مطلب رو با این تابع تست نکردم ولی یه جای دیگه با یه تابع دیگه داشتم توی VBA عکس Load میکردم که بخاطر اینکه Extension عکسم رو AllCaps نوشته بودم ارور میداد، پس ترجیحا ".jpg" استفاده کنید.


      امیدوارم مشکلتون حل بشه
      [CENTER][COLOR=#696969][FONT=lucida console]... [B]Programming [/B]C# - VB.Net - VC++ - ASP.Net - HTML - CSS - JS - AS2 - AutoIt - Pascal - Delphi - PHP - Python - VBA - Etc
      [/FONT][/COLOR][SIZE=2][FONT=lucida console][COLOR=#808080]... 2D & 3D [B]Graphic Designer[/B][/COLOR][COLOR=#ff0000][B]|[/B][/COLOR][COLOR=#808080] 2D & 3D [B]Animator [/B][/COLOR][COLOR=#ff0000][B]|[/B][/COLOR][COLOR=#808080] [B]Game [/B]Designer & [B]Hacker [/B][/COLOR][COLOR=#ff0000][B]|[/B][/COLOR][COLOR=#808080] Data [B]Forensic [/B]Expert [/COLOR][COLOR=#ff0000][B]|[/B][/COLOR][COLOR=#808080] [B]Ethical [/B]Hacker [/COLOR][COLOR=#ff0000][B]|[/B][/COLOR][COLOR=#808080] [B]Pen[/B] Tester

      [/COLOR][/FONT][/SIZE][COLOR=#ff0000][FONT=courier new][SIZE=4][B].: Expert in doing what nobody else can :.[/B][/SIZE][/FONT][/COLOR][/CENTER]

      کامنت

      • ظهور 313

        • 2017/01/20
        • 244

        #4
        ممنون بابت پاسخی كه دادید
        در مورد سوم، باید توضیح بدم كه نه اشتباه نیست، ببینید من در واقع سه تا پوشه دارم و پوشه اسناد، پوشه pic و پوشه‌ای كه با كد شخص نام‌گذاری شده، حالا داخل پوشه فرد، عكس پرسنلی اون هم با همون كد خودش شماره‌گذاری شده و میخوام این عكس لود بشه

        حالا دو تا كد میزارم و توضیح میدم
        1- در كد اول، عكس اشخاص داخل پوشه خودشون نیست، یعنی در بیرون از پوشه قرار داده میشه و كد هم بدون خطا، جواب میده
        LblPic.Picture = LoadPicture(Workbooks("esme aazam").Path & "\asnad\par" & ListBox1.Value & ".JPG")

        2- در كد دوم، میخوام كه عكس را از داخل پوشه خودش فراخوانی كنه كه متاسفانه جواب نمیده، ممنون میشم راهنمایی بفرمایید
        LblPic.Picture = LoadPicture(Workbooks("esme aazam").Path & "\asnad\par\ListBox1.Value" & ListBox1.Value & ".JPG")

        کامنت

        • mrhartsclube

          • 2017/11/15
          • 130
          • 81.00

          #5
          نوشته اصلی توسط ظهور 313
          ممنون بابت پاسخی كه دادید
          در مورد سوم، باید توضیح بدم كه نه اشتباه نیست، ببینید من در واقع سه تا پوشه دارم و پوشه اسناد، پوشه pic و پوشه‌ای كه با كد شخص نام‌گذاری شده، حالا داخل پوشه فرد، عكس پرسنلی اون هم با همون كد خودش شماره‌گذاری شده و میخوام این عكس لود بشه

          حالا دو تا كد میزارم و توضیح میدم
          1- در كد اول، عكس اشخاص داخل پوشه خودشون نیست، یعنی در بیرون از پوشه قرار داده میشه و كد هم بدون خطا، جواب میده
          LblPic.Picture = LoadPicture(Workbooks("esme aazam").Path & "\asnad\par" & ListBox1.Value & ".JPG")

          2- در كد دوم، میخوام كه عكس را از داخل پوشه خودش فراخوانی كنه كه متاسفانه جواب نمیده، ممنون میشم راهنمایی بفرمایید
          LblPic.Picture = LoadPicture(Workbooks("esme aazam").Path & "\asnad\par\ListBox1.Value" & ListBox1.Value & ".JPG")
          سلام دوست عزیز
          باز هم تاکید میکنم اگر داخل پوشه par شما پوشه ای به نام listbox1.value ندارید (که مطمئنا ندارید) کد شما ارور میده.
          دقت کنید، ‏listbox1.value در صورتی مقدار لیست باکس شما رو بر میگردونه که داخل دابل کوتیشن نباشه.
          مثلا فرض کنیم مقدار ‏listbox1.value برابر با 1348954 باشه، آدرس عکسی که کد دوم شما بر میگردونه اینه:

          ...\asnad\par\Listbox1.Value\1348954.JPG

          که بجای سه نقطه آدرس فایل اکسل شما گذاشته میشه.
          اگه دنبال چنین چیزی هستین:

          ...\asnad\par\1348954\1348954.JPG

          کد رو به این تغییر بدین:

          LblPic.Picture = LoadPicture(Workbooks("esme aazam").Path & "\asnad\par" & ListBox1.Value & "" & ListBox1.Value & ".JPG")

          از اونجایی که استراکچر پوشه بندیتون رو نمیدونم فقط میتونم بگم کد اولتون هم یه چنین چیزی رو بر میگردونه:

          ...\asnad\par1348954.JPG

          یعنی یه عکس دارین به نام پر+کد شخص (یا نام شخص، که من توی مثال کد 1348954 رو در نظر گرفتم) در پوشه ی اسناد.
          حالا اسم پوشه شخص اگر همون کد یا نام باشه که از لیست باکس میگیرین چنین خروجی ای میخواین:

          ...\asnad\1348954\par1348954.JPG

          که این کد خروجی بالا رو میده:

          LblPic.Picture = LoadPicture(Workbooks("esme aazam").Path & "\asnad" & ListBox1.Value & "\par" & ListBox1.Value & ".JPG")

          دوستان عزیزی که این پست رو مطالعه میفرمایید، لطفا مثال و نمونه کد و فایل و اسکرین شات کافی برای پاسخگویی به سوالاتتون در تاپیکهایی که میزنید فراهم کنید، در غیر این صورت یا جوابگویی به سوالاتتون غیر ممکن میشه یا باید همه حالتهای موجود رو کسی که جوابتون رو میده در نظر بگیره که معمولا از حوصله خارج هست.

          شما هم اگه هیچکدوم از این کدها جواب کارتون رو نداد یه مثال آدرس فایل و اینکه دقیقا لیست باکس چی بر میگردونه رو بذارید، اگه پروژه در حد امنیت ملی هم باشه این کد لود کردن عکس چیزیش رو لو نمیده.

          ممنون.


          Sent from my iPhone using Tapatalk
          [CENTER][COLOR=#696969][FONT=lucida console]... [B]Programming [/B]C# - VB.Net - VC++ - ASP.Net - HTML - CSS - JS - AS2 - AutoIt - Pascal - Delphi - PHP - Python - VBA - Etc
          [/FONT][/COLOR][SIZE=2][FONT=lucida console][COLOR=#808080]... 2D & 3D [B]Graphic Designer[/B][/COLOR][COLOR=#ff0000][B]|[/B][/COLOR][COLOR=#808080] 2D & 3D [B]Animator [/B][/COLOR][COLOR=#ff0000][B]|[/B][/COLOR][COLOR=#808080] [B]Game [/B]Designer & [B]Hacker [/B][/COLOR][COLOR=#ff0000][B]|[/B][/COLOR][COLOR=#808080] Data [B]Forensic [/B]Expert [/COLOR][COLOR=#ff0000][B]|[/B][/COLOR][COLOR=#808080] [B]Ethical [/B]Hacker [/COLOR][COLOR=#ff0000][B]|[/B][/COLOR][COLOR=#808080] [B]Pen[/B] Tester

          [/COLOR][/FONT][/SIZE][COLOR=#ff0000][FONT=courier new][SIZE=4][B].: Expert in doing what nobody else can :.[/B][/SIZE][/FONT][/COLOR][/CENTER]

          کامنت

          چند لحظه..