کد vba برای pdf گرفتن (باآدرس و نام از پیش تعیین شده)

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • احسان رنجبر

    • 2019/09/23
    • 25
    • 44.00

    پرسش کد vba برای pdf گرفتن (باآدرس و نام از پیش تعیین شده)

    سلام دوستان
    وقت بخیر
    من کدی نیاز دارم که بتونم از یک تعداد شیتی که مد نظرمه ، pdf بگیرم(هر شیت در یک PDF جدا)
    و میخوام نام فایل PDF از مقدار سلول مثلا A1 تشکیل شده باشه
    و همچنین میخوام فایل PDF که قرار است از هر شیت ایجاد شود، در فولدر جداگانه ایی ایجاد شود
    ------------------------
    به طور مثال از شیت "فروش" خروجی PDF در درایو D گرفته شود و نام این فایل PDF هم از مقدار سلول A1 تشکیل شده باشد
    بدون هیچ پیغامی مبنی بر نام فایل و آدرس فایل
    و فایل ایجاد شود و هرزمان نیاز داشتم به درایو مربوطه رجوع و فایل PDF را مشاهده کنم
    --------------------
    من قبلا از تایپیک که برای pdf بوده استفاده کردم و ولی یک مشکلی وجود داره که این کد موقع خروجی گرفتن، پنجره ایی برای تغییر نام فایل و محیط ذخیره را باز میکنه که برای من این نیاز نیست، میخوام برای تعیین مکان ذخیره سازی و همچنین نام فایل،طبق دستور موجود در کادر استفاده کنه و اصلا پنجره ایی مبنی برذخیره سازی باز نکنه
  • msoori

    • 2014/08/02
    • 247
    • 83.00

    #2
    نوشته اصلی توسط احسان رنجبر
    سلام دوستان
    وقت بخیر
    من کدی نیاز دارم که بتونم از یک تعداد شیتی که مد نظرمه ، pdf بگیرم(هر شیت در یک PDF جدا)
    و میخوام نام فایل PDF از مقدار سلول مثلا A1 تشکیل شده باشه
    و همچنین میخوام فایل PDF که قرار است از هر شیت ایجاد شود، در فولدر جداگانه ایی ایجاد شود
    ------------------------
    به طور مثال از شیت "فروش" خروجی PDF در درایو D گرفته شود و نام این فایل PDF هم از مقدار سلول A1 تشکیل شده باشد
    بدون هیچ پیغامی مبنی بر نام فایل و آدرس فایل
    و فایل ایجاد شود و هرزمان نیاز داشتم به درایو مربوطه رجوع و فایل PDF را مشاهده کنم
    --------------------
    من قبلا از تایپیک که برای pdf بوده استفاده کردم و ولی یک مشکلی وجود داره که این کد موقع خروجی گرفتن، پنجره ایی برای تغییر نام فایل و محیط ذخیره را باز میکنه که برای من این نیاز نیست، میخوام برای تعیین مکان ذخیره سازی و همچنین نام فایل،طبق دستور موجود در کادر استفاده کنه و اصلا پنجره ایی مبنی برذخیره سازی باز نکنه


    سلام
    این کد رو من استفاده کردم
    محتوای دو تا سلول رو بر میداره
    پس از اینکه کنار هم میذاره شروع میکنه به نام همون دو تا محتوا ذخیره میکنه میتونه کمکتون کنه:
    کد:
    Private Sub CommandButton1_Click()
    Dim i, j As Integer
    'k = Application.WorksheetFunction.CountA(Sheets("dataq uantity").Range("A:A")) + 2
    For j = 1 To 5
    For i = 1 To 11
    Sheets("karnameh Dashboard markaz").Range("M3").Value = Sheets("karnameh Dashboard markaz").Range("T" & j + 8).Value
    Sheets("karnameh Dashboard markaz").Range("O3").Value = Sheets("karnameh Dashboard markaz").Range("Q" & i + 8).Value
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "D:" + CStr(Cells(5, 13) & "." & Cells(5, 15)) + ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True
    Next i
    Next j
    End Sub
    Last edited by حسام بحرانی; 2020/05/18, 19:59. دلیل: قرار دادن کد در تگ

    کامنت

    • احسان رنجبر

      • 2019/09/23
      • 25
      • 44.00

      #3
      سلام
      ممنونم از شما
      ولی متاسفانه این کمک حال من نیست و اون کارایی که مدنظرم بود و مطرح کردم را انجام نداد

      - - - Updated - - -

      نوشته اصلی توسط msoori
      سلام
      این کد رو من استفاده کردم
      محتوای دو تا سلول رو بر میداره
      پس از اینکه کنار هم میذاره شروع میکنه به نام همون دو تا محتوا ذخیره میکنه میتونه کمکتون کنه:
      کد:
      Private Sub CommandButton1_Click()
      Dim i, j As Integer
      'k = Application.WorksheetFunction.CountA(Sheets("dataq uantity").Range("A:A")) + 2
      For j = 1 To 5
      For i = 1 To 11
      Sheets("karnameh Dashboard markaz").Range("M3").Value = Sheets("karnameh Dashboard markaz").Range("T" & j + 8).Value
      Sheets("karnameh Dashboard markaz").Range("O3").Value = Sheets("karnameh Dashboard markaz").Range("Q" & i + 8).Value
      ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      "D:" + CStr(Cells(5, 13) & "." & Cells(5, 15)) + ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True
      Next i
      Next j
      End Sub
      سلام
      ممنونم از شما
      ولی متاسفانه این کمک حال من نیست و اون کارایی که مدنظرم بود و مطرح کردم را انجام نداد

      کامنت

      چند لحظه..