اجرای فایل bat از طریق اکسل

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • gha3emi

    • 2014/11/10
    • 65

    [حل شده] اجرای فایل bat از طریق اکسل

    با سلام
    1- در اکسل چطور می تونم بعد از اینکه مقدار یک سلول به عدد مشخصی رسید فرضا 10 یک فایل bat که در درایو E همان سیستم موجوده به صورت اتوماتیک اجرا بشه (مقدار سلول متغیره و فقط میخوام در صورت برقرای شرط if c1=10 اجرا بشه)
    2- در فایل bat چطور می تونم مشخص کنم که خودکار به مسیر پوشه ای که به صورت روزانه (تاریخ شمسی) توسط اکسل ساخته میشه برم (پوشه ها وجود دارن) و همه فایلها رو با ftp ارسال کنم )اگر داخل خود اکسل بشه ارسال بشه که بهتر هم هست
    با تشکر
    Last edited by gha3emi; 2021/10/06, 11:52.
  • iranweld

    • 2015/03/29
    • 3341

    #2
    با سلام

    برای اجرای یک فایل در محیط اکسل دستور shell را مطالعه کنید

    shell

    کامنت

    • gha3emi

      • 2014/11/10
      • 65

      #3
      با سلام
      در کپی از مبدا ثابت به مقصد ثابت مشکل وجود نداره ولی وقتی مقصد لازمه که هر روز بر اساس تاریخ روز جاری عوض بشه تابع jtoday را به خاطر علامت " " جز، ثابت آدرس مقصد در نظر گرفته میشه

      Dim sSourceFile As String
      Dim sDestinationFile As String


      "sSourceFile = "C:\1.txt
      ' " sDestinationFile = "D:"&"jtoday\1.txt'
      " sDestinationFile = "D:\14000716\1.txt
      FileCopy sSourceFile, sDestinationFile
      Last edited by gha3emi; 2021/10/09, 11:15.

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        نوشته اصلی توسط gha3emi
        با سلام
        در کپی از مبدا ثابت به مقصد ثابت مشکل وجود نداره ولی وقتی مقصد لازمه که هر روز بر اساس تاریخ روز جاری عوض بشه تابع jtoday را به خاطر علامت " " جز، ثابت آدرس مقصد در نظر گرفته میشه

        Dim sSourceFile As String
        Dim sDestinationFile As String


        "sSourceFile = "C:\1.txt
        ' " sDestinationFile = "D:"&"jtoday\1.txt'
        " sDestinationFile = "D:\14000716\1.txt
        FileCopy sSourceFile, sDestinationFile
        تاریخ را بدین صورت استخراج کنید


        Click image for larger version

Name:	Untitled.png
Views:	1
Size:	86.0 کیلو بایت
ID:	139042

        کامنت

        • gha3emi

          • 2014/11/10
          • 65

          #5
          ببخشید که خیلی مزاحم میشم بعد از اجرای دستور زیر به جای اینکه در هنگام اجرای فایل b.bat خط فرمان cmd از همان آدرس D:\Space_Linux\Mchn\receive_B استفاده کند از مسیر c:\admin\document اجرای میشه (برای من مهمه که از همون مسیر درایو d و پوشه اصلی فایل bat ، خونده بشه چون داخل فایل bat یک فایل txt فراخوانی میشه که در درایو d و پوشه ای که روزانه از طریق xx ساخته میشه قرار میگیره و با اون فایلها به سرور دیگه ای ftp میشن)
          به صورت خلاصه در هنگام فراخوانی فایل bat آدرس command prompt این باشه D:\Space_Linux\Mchn\receive_B\14000718

          If Range("b22").Value = 21 And Range("b23").Value = 0 Then
          Dim RetVal
          RetVal = Shell("D:\Space_Linux\Mchn\receive_B" & xx & "\ b.bat", 1)
          Range("b23").Value = 1
          End If

          کامنت

          • iranweld

            • 2015/03/29
            • 3341

            #6
            نوشته اصلی توسط gha3emi
            ببخشید که خیلی مزاحم میشم بعد از اجرای دستور زیر به جای اینکه در هنگام اجرای فایل b.bat خط فرمان cmd از همان آدرس D:\Space_Linux\Mchn\receive_B استفاده کند از مسیر c:\admin\document اجرای میشه (برای من مهمه که از همون مسیر درایو d و پوشه اصلی فایل bat ، خونده بشه چون داخل فایل bat یک فایل txt فراخوانی میشه که در درایو d و پوشه ای که روزانه از طریق xx ساخته میشه قرار میگیره و با اون فایلها به سرور دیگه ای ftp میشن)
            به صورت خلاصه در هنگام فراخوانی فایل bat آدرس command prompt این باشه D:\Space_Linux\Mchn\receive_B\14000718

            If Range("b22").Value = 21 And Range("b23").Value = 0 Then
            Dim RetVal
            RetVal = Shell("D:\Space_Linux\Mchn\receive_B" & xx & "\ b.bat", 1)
            Range("b23").Value = 1
            End If
            لطفا نمونه فایل اکسل و فایل bat را ضمیمه کنید تا بررسی شود

            کامنت

            • gha3emi

              • 2014/11/10
              • 65

              #7
              خدمت شما
              بازم ممنون
              فایل های پیوست شده

              کامنت

              • iranweld

                • 2015/03/29
                • 3341

                #8
                با سلام

                در فایل پیوست فایل bat توسط کدهای vba در مسیر مورد نظر ساخته شده و کدهای تغییر مسیر در آن درج میگردد.

                Click image for larger version

Name:	Untitled.png
Views:	1
Size:	54.1 کیلو بایت
ID:	139050
                فایل های پیوست شده
                Last edited by iranweld; 2021/10/10, 11:55.

                کامنت

                • iranweld

                  • 2015/03/29
                  • 3341

                  #9
                  اگر در اجرای ماکرو ارورر داد ، آیتم ذیل را فعال کنید

                  Click image for larger version

Name:	2.png
Views:	1
Size:	101.7 کیلو بایت
ID:	139048

                  کامنت

                  • iranweld

                    • 2015/03/29
                    • 3341

                    #10

                    فایل پیوست در پست قبلی اصلاح گردید

                    کامنت

                    • gha3emi

                      • 2014/11/10
                      • 65

                      #11
                      ممنونم

                      کامنت

                      چند لحظه..