@נ-נח
מספיק השורה הזו?
System.Diagnostics.Process.Start(@"cscript //B //Nologo c:\scripts\vbscript.vbs");
לא צריך איזה קובץ נוסף?
@נ-נח
מספיק השורה הזו?
System.Diagnostics.Process.Start(@"cscript //B //Nologo c:\scripts\vbscript.vbs");
לא צריך איזה קובץ נוסף?
@www אמר בהכסף שמתקבל עבור עסקה בתשלומים:
1 == 3, (1 זה הו"ק עם הגבלת תשלומים).
זה לא אותו הדבר
ב 1 זה תשלום באשראי כל חודש דרך מספר כרטיס... ואם בעל הכרטיס מבטל (תלוי באיזה נסיבות) העמותה לא תקבל את הכסף ותו לא...
משא"כ בהוראת קבע (3) חודשית אם בעל החשבון מבטל והעמותה שולחת חיוב חשבון ויש סירוב העמותה צריכה לשלם סכום כסף כלשהו (אאל"ט 50+ ) לבנק על סירוב הוראת קבע...
@chagold
ממה שידוע לי (מתרומות) זה שיש כמה אפשרויות של תשלום
כרגע אני מקבל את השגיאה הזו
@נ-נח
הקוד הזה אמור לעבוד על כל סוג קובץ במחשב?
@נ-נח
כן
ניסיתי גם את זה ויש את הקובץ הזה בוודאות
ועם כל זה זה לא עובד
using System.Diagnostics;
namespace MacroRunPrivimail
{
class Program
{
static void Main(string[] args)
{
Process.Start(@"C:\Users\User\Desktop\YossiBarber1\aass.vbs");
}
}
}
@נ-נח
כתבתי כך
using System.Net;
using System.Diagnostics;
using System.IO;
namespace MacroRunPrivimail
{
class Program
{
static void Main(string[] args)
{
Process.Start(Directory.GetCurrentDirectory() + @"\Privimail\UpdatePrivimail.vbs");
}
}
}
וכאשר אני מריץ אותו הוא מחזיר שגיאה כזו שאני לא מצליח להבין מהי..
C:\Users\uri\Desktop\Barbar>MacroRunPrivimail.exe
Unhandled exception. System.ComponentModel.Win32Exception (193): The specified executable is not a valid application for this OS platform.
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(String fileName)
at MacroRunPrivimail.Program.Main(String[] args) in C:\Users\User\source\repos\MacroRunPrivimail\MacroRunPrivimail\Program.cs:line 12
@נ-נח אמר באיך אני מפעיל קובץ במחשב ע"י C#:
@אוריי
אפשר עם process.start
@נ-נח אני די חדש ב #C אשמח אם תוכל לפרט לי יותר ..
תודה רבה
אני רוצה להפעיל קובץ בסיומת vbs שנמצא במחשב במיקום מסויים
איך אני פותח אותו ע"י C# ?....
@yossiz
הרבה תודה ב"ה התקדמתי נחמד ב #C
@yossiz אמר במחפש קוד של c# להפעלת מאקרו vba:
להוסיף Reference בפרוייקט ל-DLL של זה.
אשמח לקבל איזה הסבר קצר איך אני מוסיף את זה
@yossiz
ניסיתי בקוד vba בתוך קובץ vbs וזה עובד הבעיה היא שהוא לא סוגר את האקסל ברקע לאחר הפעולה (כך שלאחר כמה פתיחות השרת לא זז)
א. אני צריך שהבקשה תגיע מקובץ קוד כי זה אמור להגיע לאחר פעולה
ב. אני לא יכול לבקש מתוך אקסס כי א"כ אני מוכרך לפתוח את האקסס בשביל זה והרי אני רוצה שזה יעבוד באופן אוטומטי לחלוטין...
ג. חוץ מזה יש לי קוד c# שעושה לי את הפעולה הקודמת של הורדת קבצים משרת ftp וב"ה עובד מעולה ... כ"כ חיפשתי ג"כ קוד המשך לפעולה הבאה במקום לסרבל את המערכת...
לגבי הניסיונות שלי
אני הכנסתי את הקוד הבא והוא לא מוצא את המחלקה של Excel
public void WebTest_CodedStep()
{
// Object for missing (or optional) arguments.
object oMissing = System.Reflection.Missing.Value;
// Create an instance of Microsoft Excel
Excel.ApplicationClass oExcel = new Excel.ApplicationClass();
// Make it visible
oExcel.Visible = true;
// Define Workbooks
Excel.Workbooks oBooks = oExcel.Workbooks;
Excel._Workbook oBook = null;
// Get the file path
string path = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
path = path + "\\Worksheet02.csv";
//Open the file, using the 'path' variable
oBook = oBooks.Open(path, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
// Run the macro, "First_Macro"
RunMacro(oExcel, new Object[]{"Worksheet01.xlsm!First_Macro"});
// Quit Excel and clean up.
oBook.Close(false, oMissing, oMissing);
System.Runtime.InteropServices.Marshal.ReleaseComObject (oBook);
oBook = null;
System.Runtime.InteropServices.Marshal.ReleaseComObject (oBooks);
oBooks = null;
oExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject (oExcel);
oExcel = null;
//Garbage collection
GC.Collect();
}
private void RunMacro(object oApp, object[] oRunArgs)
{
oApp.GetType().InvokeMember("Run", System.Reflection.BindingFlags.Default | System.Reflection.BindingFlags.InvokeMethod, null, oApp, oRunArgs);
}
במחשבה שניה לא בטוח שהקוד הזה יסגור לי את האקסל לאחר הפעולה..
@shraga
עדיין לא עובד...
@shraga אמר בהורדה אוטומטית של קבצי csv מאתר ftp:
יצרת קובץ בסיומת .ps להורדת ועדכון הcsv? הוא עובד תקין?
יצרתי והוא לא עובד תקין
אבל כאשר אני מריץ בפוורשאל הוא עובד טוב
מה זה יכול להיות?
@shraga
אני ינסה שוב להסביר מה שאני צריך זה כך
מערכת של עידכון קובץ לפי פרמטרים שהגדרתי ב vba ושזה יעבוד אוטומטי מתי שה api ישלח בקשה (כלומר יקרא לקובץ) ויתן בסיום ל api עידכון שהתהליך הסתיים..
כל השאר איך לגשת לשרת ולקובץ שלי מה api זה לא מעניין אותי כרגע
קודם כל שיהיה לי מערכת אוטומטית שעושה את השלבים האלו:
אם חסרים לך עוד פרטים אוכל להשלים לך במייל שלי בחתימה
@shraga
אני לא בונה את ה api
זה פשוט מערכת של מישהו של שליחת קובץ במייל עם שילוב של עוד כמה מערכות והוא לוקח את הקובץ מהשרת שלי והוא בודק אם קיימים עדכונים ואם קיימים עדכונים הוא קורא לפוורשאל לעדכן את הקבצים ולאחר מכן הוא לוקח את הקובץ המעודכן ושולח אותו במייל...
@shraga אמר בהורדה אוטומטית של קבצי csv מאתר ftp:
@אוריי אמר בהורדה אוטומטית של קבצי csv מאתר ftp:
רק עוד פרט קטן חסר לי איך אני סוגר את הקובץ כדי שאני יוכל לקרוא לקובץ והוא יעדכן אוטומטי את כל הפרטים
לא ממש הבנתי, אם תוכל להרחיב.
יש לי מערכת שאני רוצה להריץ כמה שלבים אחד לאחר השני כאשר הראשון מסתיים
פחות או יותר סדר השלבים הוא קבלת הוראה מapi להתחיל לרוץ
עכשיו מה שאני רוצה לעשות זה קובץ בוט או כל דבר אחר שברגע שה api מפעיל אותו הוא יוריד קבצים חדשים מה ftp ולאחר מכן הוא יפעיל את הקובץ שמפעיל את ה vba וכו' וכו' ...
מה שאני צריך לעשות עם הקוד הזה שהוא יעבוד טוב בצורה סגורה ועם אפשרות שבעת שאני מפעיל אותו הוא מריץ את השלבים הבאים...