توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [حل شده] اجرای فایل bat از طریق اکسل
با سلام
1- در اکسل چطور می تونم بعد از اینکه مقدار یک سلول به عدد مشخصی رسید فرضا 10 یک فایل bat که در درایو E همان سیستم موجوده به صورت اتوماتیک اجرا بشه (مقدار سلول متغیره و فقط میخوام در صورت برقرای شرط if c1=10 اجرا بشه)
2- در فایل bat چطور می تونم مشخص کنم که خودکار به مسیر پوشه ای که به صورت روزانه (تاریخ شمسی) توسط اکسل ساخته میشه برم (پوشه ها وجود دارن) و همه فایلها رو با ftp ارسال کنم )اگر داخل خود اکسل بشه ارسال بشه که بهتر هم هست
با تشکر
iranweld
2021/10/06, 11:20
با سلام
برای اجرای یک فایل در محیط اکسل دستور shell را مطالعه کنید
shell (https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/shell-function)
با سلام
در کپی از مبدا ثابت به مقصد ثابت مشکل وجود نداره ولی وقتی مقصد لازمه که هر روز بر اساس تاریخ روز جاری عوض بشه تابع 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
iranweld
2021/10/09, 11:13
با سلام
در کپی از مبدا ثابت به مقصد ثابت مشکل وجود نداره ولی وقتی مقصد لازمه که هر روز بر اساس تاریخ روز جاری عوض بشه تابع 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
تاریخ را بدین صورت استخراج کنید
23118
ببخشید که خیلی مزاحم میشم بعد از اجرای دستور زیر به جای اینکه در هنگام اجرای فایل 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
2021/10/10, 08:19
ببخشید که خیلی مزاحم میشم بعد از اجرای دستور زیر به جای اینکه در هنگام اجرای فایل 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 را ضمیمه کنید تا بررسی شود
iranweld
2021/10/10, 10:37
با سلام
در فایل پیوست فایل bat توسط کدهای vba در مسیر مورد نظر ساخته شده و کدهای تغییر مسیر در آن درج میگردد.
23131
iranweld
2021/10/10, 10:45
اگر در اجرای ماکرو ارورر داد ، آیتم ذیل را فعال کنید
23129
iranweld
2021/10/10, 10:53
فایل پیوست در پست قبلی اصلاح گردید
vBulletin® v4.2.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd.