باز كردن فايل جديد (خالي) (با امكان تعيين نام براي ذخيره آن) و كپي داده*ها از فايل اول به فايل جديد

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

    • 2017/01/20
    • 244

    باز كردن فايل جديد (خالي) (با امكان تعيين نام براي ذخيره آن) و كپي داده*ها از فايل اول به فايل جديد

    با سلام و عرض ادب خدمت همه اساتيد گرامي
    نياز به يه دستور دارم تا با يك كليد، يك فايل خالي باز بشه و برخي داده*ها از فايل اصلي رو داخل اون كپي كنم. اگه امكان ذخيره فايل جديد با نام مورد نظر من هم وجود داشته باشه كه خيلي عاليه
    ممنون ميشم اگه راهنمايي بفرماييد
    نكته مهم: هنگامي كه فرم در حال اجراست، دو تا فايل بازه و اطلاعات بايد از يك فايل در يك فايل جديد (خالي) كپي بشه
    اين ماكرو رو براش ضبط كردم اما خطا ميده
    به همون خط اول گير ميده
    Application.Workbooks("Liste hoghoogh").Range("J.LISTE.HOGHOGH[#All]").Select
    Application.Workbooks("Liste hoghoogh").Sheets("ListeHoghooghi").Range("C12").A ctivate
    Selection.Copy
    Workbooks.Add
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    ChDir "C:\Users\313\Desktop"
    ActiveWorkbook.SaveAs Filename:="C:\Users\313\Desktop\ليست حقوقي.xlsm", _
    FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    ActiveWindow.Close

    در ضمن مي*خوام در صورت امكان، نام فايل رو از يك سلول بگيره
    Last edited by ظهور 313; 2017/12/26, 14:23.
  • ظهور 313

    • 2017/01/20
    • 244

    #2
    آقا كسي نيست راهنمايي كنه
    اساااااتييييد كمك

    کامنت

    • ظهور 313

      • 2017/01/20
      • 244

      #3
      خوب خوبه كه لااقل خودم هستم جواب بدم
      كد رو اينجوري تغيير دادم و الان درست كار ميكنه. فقط دو تا مشكل دارم
      اول اينكه چه كنم تا محل ذخيره، در همون پوشه فايل سورس باشه (اينجوري روي دسكتاپ سيستم*هاي ديگه به مشكل ميخوره)
      دوم اينكه: ميخوام اسم فايل جديد كه ذخيره ميشه، مساوي با يك سلول باشه
      Windows("Liste hoghoogh.xlsm").Activate
      Sheets("ListeHoghooghi").Select
      Range("J.LISTE.HOGHOGH[#All]").Select
      Range("A1").Activate
      Application.CutCopyMode = False
      Selection.Copy
      Workbooks.Add
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      ActiveWorkbook.SaveAs Filename:="C:\Users\313\Desktop\111222.xlsx", _
      FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
      ActiveWindow.Close
      Workbooks("Liste hoghoogh").Application.Visible = False

      کامنت

      • ظهور 313

        • 2017/01/20
        • 244

        #4
        يعني هيچ كدوم از اساتيد نميتونند راهنمايي كنن؟
        بابا ظاهرا اينقدرم سخت نيست
        درسته ما بي*سواديم ولي معلومه اين خيلي نبايد پيچيده باشه (البته براي اساتيد)

        کامنت

        • Amir Ghasemiyan

          • 2013/09/20
          • 4598
          • 100.00

          #5
          نوشته اصلی توسط ظهور 313
          خوب خوبه كه لااقل خودم هستم جواب بدم
          كد رو اينجوري تغيير دادم و الان درست كار ميكنه. فقط دو تا مشكل دارم
          اول اينكه چه كنم تا محل ذخيره، در همون پوشه فايل سورس باشه (اينجوري روي دسكتاپ سيستم*هاي ديگه به مشكل ميخوره)
          دوم اينكه: ميخوام اسم فايل جديد كه ذخيره ميشه، مساوي با يك سلول باشه
          Windows("Liste hoghoogh.xlsm").Activate
          Sheets("ListeHoghooghi").Select
          Range("J.LISTE.HOGHOGH[#All]").Select
          Range("A1").Activate
          Application.CutCopyMode = False
          Selection.Copy
          Workbooks.Add
          Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
          :=False, Transpose:=False
          ActiveWorkbook.SaveAs Filename:="C:\Users\313\Desktop\111222.xlsx", _
          FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
          ActiveWindow.Close
          Workbooks("Liste hoghoogh").Application.Visible = False

          سلام دوست عزیز
          برای اینکه آدرس همان آدرس فایل موجود باشه و اسم رو هم از یک سلول مثلا A1 بخونه از این خط کد کمک بگیرید:
          کد:
          ActiveWorkbook.Path & "\" & Sheet1.Range("A1").Value

          کامنت

          • ظهور 313

            • 2017/01/20
            • 244

            #6
            نوشته اصلی توسط Amir Ghasemiyan

            سلام دوست عزیز
            برای اینکه آدرس همان آدرس فایل موجود باشه و اسم رو هم از یک سلول مثلا A1 بخونه از این خط کد کمک بگیرید:
            کد:
            ActiveWorkbook.Path & "\" & Sheet1.Range("A1").Value
            ممنون آقاي قاسميان عزيز
            راستش حرفه*اي نيستم
            نتونستم كد شما تحليل كنم، ميشه كاملش رو برام بزاريد
            اگه ممكنه به جاي اينكه فايل جديد باز كنم، آدرس يه فايل مشخص در مسير همون فايل اصلي رو بهش بديد






            Last edited by ظهور 313; 2018/01/01, 11:19.

            کامنت

            • Amir Ghasemiyan

              • 2013/09/20
              • 4598
              • 100.00

              #7
              نوشته اصلی توسط ظهور 313
              ممنون آقاي قاسميان عزيز
              راستش حرفه*اي نيستم
              نتونستم كد شما تحليل كنم، ميشه كاملش رو برام بزاريد
              اگه ممكنه به جاي اينكه فايل جديد باز كنم، آدرس يه فايل مشخص در مسير همون فايل اصلي رو بهش بديد







              تحليل خاصي نميخواد. يكم ترجمه فقط
              activeworkbook يعني فايل جاري
              path يعني مسير
              پس ميشه مسير فايل جاري . يعني پوشه اي كه فايل جاري داخلش قرار داره
              بعدش يك بك اسلش و بعد هم اسم فايلي كه ميخوايد

              حالا اگه بخوايم بگيم يك فايل رو كه اسمشو تو سلول A1 نوشتم باز كن اينطوري مينويسيم:
              کد:
              Workbooks.Open ActiveWorkbook.Path & "\" & Sheet1.Range("A1").Value

              کامنت

              • ظهور 313

                • 2017/01/20
                • 244

                #8
                نوشته اصلی توسط Amir Ghasemiyan

                تحليل خاصي نميخواد. يكم ترجمه فقط
                activeworkbook يعني فايل جاري
                path يعني مسير
                پس ميشه مسير فايل جاري . يعني پوشه اي كه فايل جاري داخلش قرار داره
                بعدش يك بك اسلش و بعد هم اسم فايلي كه ميخوايد

                حالا اگه بخوايم بگيم يك فايل رو كه اسمشو تو سلول A1 نوشتم باز كن اينطوري مينويسيم:
                کد:
                Workbooks.Open ActiveWorkbook.Path & "\" & Sheet1.Range("A1").Value
                ممنون استاد اين خيلي عاليه
                حالا يه سوال ديگه دارم، ميشه خروجي pdf رو با يه اسم خاص (در يك سلول مشخص) و در يك مسير مشخص ذخيره كرد (بدون اينكه از كاربر سوالي بپرسه)

                کامنت

                • Amir Ghasemiyan

                  • 2013/09/20
                  • 4598
                  • 100.00

                  #9
                  نوشته اصلی توسط ظهور 313
                  ممنون استاد اين خيلي عاليه
                  حالا يه سوال ديگه دارم، ميشه خروجي pdf رو با يه اسم خاص (در يك سلول مشخص) و در يك مسير مشخص ذخيره كرد (بدون اينكه از كاربر سوالي بپرسه)


                  خواهش ميكنم

                  براي خروجي گرفتن بصورت PDF يا XPS از تابع ExportAsFixedFormat بايد استفاده بشه.من كاملترين حالتش رو براتون مينويسم.
                  کد:
                  Sheet1.ExportAsFixedFormat _
                          Type:=xlTypePDF, _
                          Filename:="C:\ExcelIran.pdf", _
                          Quality:=xlQualityStandard, _
                          IncludeDocProperties:=True, _
                          IgnorePrintAreas:=False, _
                          From:=1, _
                          To:=1, _
                          OpenAfterPublish:=False

                  کامنت

                  چند لحظه..