-
@אוריי עבודה מול excel בסגנון הישן כ dll. מתכון לצרות.
א. אסור לעבוד עם אקסל בזמן שהקוד רץ. כי זה מפריע לקוד לרוץ.
ב. לצורך סגירת האקסל צריך לקרוא 3 פעמים ל GC לרוקן אובייקטים של אקסל. (כמובן לאחר ששיחררו אותם)
ג. צריך להזהר לא לקמפל ב netcore -
-
@אוריי מזכיר לי את חד-גדיא.
אני לא קורא את כל הפוסטים שפתחת,אבל יש לי הרגשה שאם תעלה מסמך דרישות למה שאתה מפתח, יהיה יותר קל לעזור לך. -
@aharon-0 אמר במחפש קוד של c# להפעלת מאקרו vba:
,אבל יש לי הרגשה שאם תעלה מסמך דרישות למה שאתה מפתח, יהיה יותר קל לעזור לך
כתבתי את זה כאן
-
@אוריי
קצת התבלבלתי, אם הקוד שמוריד את הקבצים ב powershell. למה לא להמשיך להריץ את ה vbs ב powershell ? מה הצורך ב c#? -
@aharon-0
אני יעשה לך קצת סדר
עם הפאוורשאל לא הסתדרתי
אז עברתי להשתמש ב #C
תכלס יש לי קוד #C שמוריד בהצלחה את כל הקבצים מה FTP
חוץ מזה בניתי קובץ VBS שמפעיל את המאקרו של האקסל
מה שכרגע חסר לי הוא להפעיל את ה VBS דרך ה#C
מקווה שהייתי ברור... -
@אוריי עוד משהו שלא הבנתי. הקוד בתחילת הפוסט ניסת לפתוח csv עם אקסל. זה לא יכול לעבוד כך.
צריך לפתוח גיליון ואז לייבא את ה csv לגליון. (עם אפשרות להגדיר מה מחלק לטורים פסיק או טאב או תו אחר).
איך פתרת את זה עם vbs ? -
@אוריי
דוגמא שמצאתי באינטרנט(אני מסמארטפון וקשה להקליד):
Process scriptProc = new Process();
scriptProc.StartInfo.FileName = @"cscript";
scriptProc.StartInfo.WorkingDirectory = @"c:\scripts"; //<---very important
scriptProc.StartInfo.Arguments ="//B //Nologo vbscript.vbs";
scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //prevent console window from popping up
scriptProc.Start();
scriptProc.WaitForExit(); // <-- Optional if you want program running until your script exit
scriptProc.Closeעדיין חסר בדיקת ExitCode שאתה יכול להחזיר מ VBS שאומר אם ההרצה נכשלה או הצליחה.
ואפשר להוסיף קריאה של הדפסות ל console שתוכל לטפל באירועים. -
D dovid העביר נושא זה מ-תכנות ב-