یادداشت های یک توسعه دهنده از جهان برنامه نویسی

۲ مطلب با کلمه‌ی کلیدی «اکسل» ثبت شده است

فرمول تبدیل صفحات اکسل به پی دی اف

بازم اکسل و بازم چیزهای جدید. تو یه فایلی که داشتم برای یکی از همکاران شرکتمون آماده میکردم نیاز شد بصورت انتخابی یک سری از صفحات ( Page Break ) شیت ها رو بصورت پی دی اف خروجی بگیریم و در جایی ذخیره کنیم . برای این کار یکم سرچ کردم و از vba برای فرمول نویسی و ذخیره سازی صفحات استفاده کردم که فرمتش به شکل زیره :


Ws.ExportAsFixedFormat _

    Type:=xlTypePDF, _

    Filename:=folder_address & "\" & sheat_name & ".pdf", _

    Quality:=xlQualityStandard, _

    From:=first_page_break, _

    To:=last_page_break, _

    IncludeDocProperties:=True, _

    IgnorePrintAreas:=False, _

    OpenAfterPublish:=False


این فرمول میاد یک شیت (ws) رو برای استخراج (ExportAsFixedFormat) بصورت فایل پی دی اف (Type:=xlTypePDF) در آدرس و با نام خاص (Filename:=folder_address & "\" & sheat_name & ".pdf") بصورتی که از صفحه (From:=first_page_break) تا صفحه (To:=last_page_break ) رو جدا سازی کرده ذخیره میکنه . 

folder_address در اینجا یه آدرس از پیش تعریف شده است 

sheat_name  هم نام فایلی که میخوایم ذخیره کنیم 

first_page_break و  last_page_break هم اعدادی برای شماره صفحات در خروجیه

باقی خصوصیات هم از اسمشون مشخصه .


من برای اینکه بتونید پروژه رو بصورت عملی هم ببینید یه فایل اکسل آماده کردم و در GitHub قرار دادم .

منبع زبان اصلی آموزش هم میتونید اینجا ببنید 

امیدوارم مفید بوده باشه . سوالی بود در خدمتم

۰ نظر موافقین ۱ مخالفین ۰
مرتضی درزی

باز کردن فایل عکس از طریق لینک متن در اکسل

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

همونطور که میدونید میشه یک متن داخل سلول اکسل ( و البته همه نرم افزار دیگر آفیس مثل ورد و ... ) رو بصورت لینک در آورد تا با کلیک روی اون یه فایل یا یه صفحه در مرورگر یا حتی یه شیت دیگه رو باز کنه . برای اینکار روی متن یا سلول مورد نظر راست کلیک میکنیم :

بعد اون فایل رو انتخاب کرده و کار تمومه . حالا هر وقت که روی اون متن کلیک میکنید میره و اون فایل رو باز میکنه

اما مشکل این دوستمون این بود که وقتی روی لینک کلیک میکرد عکس تو ie باز میشد ! 


اولین چیزی که به ذهنم رسید داستان open with  که احتمالا بصورت پیش فرض برای سیستمش تعریف شده نیست که باید عکس با فرمت jpg رو با نرم افزار خودش باز کنه ولی مشکل این نبود . همه چیز در بیرون از اکسل درست کار میکرد ولی وقتی داخل اکسل فایل رو باز میکردید با ie یا همون اینترنت اکسپلور باز میشد !!

اینجاست که کافیه یکم انگلیسی بدونید و یکم هم گوگل گردی .. بعد از جستجویی در گوگل یه راه حل پیدا شد . تغییر رجیستر ویندوز .

(1) Run regedit.exe

(2) Navigate to HKEY_CLASSES_ROOT -> jpegfile -> CLSID

(3) Right-click on “Default” (the Value Name) and select “Modify”

(4) Change “Value data” from

 {25336920-03F9-11cf-8FD0-00AA00686F13} to

 {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}

چه کارهایی که با این رجیستر نمیشه کرد . کافی بود این اعداد رو کپی کنیم و تمام . حالا دیگه فایل های عکس با همون نرم افزار ویندوزی باز میشد . البته راه حل سر راستیه و میشه مشکل رو حل کنه ولی ساختیار رجیستر جوریه که آموزش پذیر نیست ، یعنی شما بصورت پیش فرض به همیچین مقداری نمیرسی که بخوای انگولکش کنی ولی یه جایی تو داکیومنت های مایکروسافت باید یه همچین چیزی باشه . خلاصه اینکه من به عنوان برنامه نویس نتونستم دلیل قانع کننده ای به اون دستمون در جواب این سوال که " چیکار کردی درست شد ؟" بدم ، چون واقعا نمی دونم این کلید چه میکنه ولی همینقدر بهش گفتم که رجیستر ویندوز یعنی مغز کامپیوترت و هیچ وقت سمتش نرو 


شما هم اگه می دونید کجا میشه خدای رجیستر شد بگید ما هم یاد بگیریم ...

۰ نظر موافقین ۱ مخالفین ۰
مرتضی درزی