עבור לתוכן

VB מול WORD

Featured Replies

פורסם

אני רוצה להוציא דו"ח פלט בWORD

איך אני עושה את הקישוריות לWORD,כלומר איך אני יוצרת אובייקט WORD

(כך שתהיה לי גישה לכל ההגדרות,למשל אוכל להגדיר שהדף יוצג במאונך,הכתב יהיה מודגש וכדומה.)

תודה מראש

פורסם

אני מניח שאת מדברת על automation. אמנם הפעם האחרונה שעבדתי עם זה הייתה לפני 6 שנים בערך ובדלפי, אבל זה מאוד דומה בכל השפות (והאמת שעם VB זה הכי קל)

יש לך די הרבה תיעוד ודוגמאות ב- MSDN, תחת

Word.Application

אגב, אפשר ורצוי להתעלל ב- office assistent דרך קוד.

פורסם

אתה צריך להיכנס ל Reference ושם ליבחור באובייקט word

ואני לא ממליץ להשתמש ב vba של word זה לא יציב ונורא קשה לדבג את זה בחלק מהמיקרים

פורסם

אני מניח שאת מדברת על automation. אמנם הפעם האחרונה שעבדתי עם זה הייתה לפני 6 שנים בערך ובדלפי, אבל זה מאוד דומה בכל השפות (והאמת שעם VB זה הכי קל)

סתם שאלה בהקשר הזה (6 שנים)... בן כמה אתה...?

ולגבי השאלה שלך - זה תלוי באיזה Visual Studio ובאיזה Word את משתמשת. אם את משתמשת ב-.NET (רצוי VB, כמו שנאמר) ובאופיס 2003 ומעלה, אז זה יכול מאוד לעזור:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_vsto2003_ta/html/WordObject.asp

פורסם

אני? 25 (לפני 6 שנים זה היה בצבא. כשאני חושב על זה, זה כנראה יותר קרוב ל- 5 שנים)

הממ, 0x19 נראה גיל יותר מוצלח :-\

פורסם

מזכיר לי שהמורה שלי סופרת את הגיל שלה בהקדצימלי.

פורסם

גם אני 25...

הבעיה היא שעוד חצי שנה זה יהיה 0x1A - וזה כבר פחות משכנע / מתחמק.

פורסם

סתם שאלה בהקשר הזה (6 שנים)... בן כמה אתה...?

ולגבי השאלה שלך - זה תלוי באיזה Visual Studio ובאיזה Word את משתמשת. אם את משתמשת ב-.NET (רצוי VB, כמו שנאמר) ובאופיס 2003 ומעלה, אז זה יכול מאוד לעזור:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_vsto2003_ta/html/WordObject.asp

שאלה קטנה לגבי ההדגשה

יש יתרון לvb.net על C# שמשתמשים באובייקטים של Office?

פורסם

יכול להיות שאני לא לגמרי מדוייק, אבל הנה מה שאני יודע:

ב- VB אתה עובד ב- automation דרך IDispatch, וזה דבר די איטי (יחסית). (הקריאה לפונקציה מתורגמת לפונקציה אחרת שבוחרת את הפונקציה המתאימה על האובייקט האמיתי, ואורזת לו את הפרמטרים בדרך מסוימת)

אם C# יודע לעבוד עם COM בצורה מלאה (כמו C++) אז אתה יכול לקבל Interfaces "אמיתיים" לאובייקטים שם, ולחסוך את שלב התרגום (שמרגישים אותו כשהוא קורה)

פורסם

יכול להיות שאני לא לגמרי מדוייק, אבל הנה מה שאני יודע:

ב- VB אתה עובד ב- automation דרך IDispatch, וזה דבר די איטי (יחסית). (הקריאה לפונקציה מתורגמת לפונקציה אחרת שבוחרת את הפונקציה המתאימה על האובייקט האמיתי, ואורזת לו את הפרמטרים בדרך מסוימת)

אם C# יודע לעבוד עם COM בצורה מלאה (כמו C++) אז אתה יכול לקבל Interfaces "אמיתיים" לאובייקטים שם, ולחסוך את שלב התרגום (שמרגישים אותו כשהוא קורה)

בכל ה .net יש את שלב התירגום הזה רק ב vb6 או vc++6 זה באמת מתרגם אותו לקוד בינרי ...

זה מה שאני יודע

וחוץ מיזה אני מניח שזה לא תוכנה שאמורה לרוץ מלא פעמים בלופים כל היום אז מהירות זה לא זמן כולכך חשוב כמו לדוגמא במסד נתונים

פורסם

לא נראה שיש למה שאמרתי קשר לזה שזה .NET.

מה שהתייחסתי אליו זו צורת העבודה עם COM.

Automationעובד דרך ממשק שנקרא IDispatch שמה שהוא מאפשר זה להריץ פונקציה לפי השם שלה. (ואתה יכול לעשות את זה אפילו אם אין לך קבצי הגדרות של האובייקט)

כשאתה עובד עם COM, אתה אמור להיות יכול לבקש ממשק (עם QueryInterface) יותר יעיל (לדוגמא IWebBrowser לאקספלורר).

פורסם
  • מחבר

תודה חברים!! :-*

עזרו לי העצות,בעיקר נעזרתי בMSDN ....

זה עובד יופי!!!!! :yelclap: :yelclap:

פורסם

יכול להיות שאני לא לגמרי מדוייק, אבל הנה מה שאני יודע:

ב- VB אתה עובד ב- automation דרך IDispatch, וזה דבר די איטי (יחסית). (הקריאה לפונקציה מתורגמת לפונקציה אחרת שבוחרת את הפונקציה המתאימה על האובייקט האמיתי, ואורזת לו את הפרמטרים בדרך מסוימת)

אם C# יודע לעבוד עם COM בצורה מלאה (כמו C++) אז אתה יכול לקבל Interfaces "אמיתיים" לאובייקטים שם, ולחסוך את שלב התרגום (שמרגישים אותו כשהוא קורה)

אם משתמשים ב-.NET טהור, אז אין שימוש ב-COM ולא צריך להיות הבדל משמעותי בין C# ל-VB.

כתבתי VB כי זה הדבר הראשון שקפץ לי לראש, לא עבדתי יותר מדי עם C#, אז לא חשבתי על זה באותו רגע, אבל לא צריך להיות הבדל מבחינה פונקציונלית.

ואנחנו שמחים לעזור ;) (יש מסתייגים? :))

פורסם
אם משתמשים ב-.NET טהור, אז אין שימוש ב-COM ולא צריך להיות הבדל משמעותי בין C# ל-VB.

שניה, אז איך מתבצעת ההתממשקות לאופיס?

יש משהו שבא במקום automation?

אני יודע שבתוך .NET יש לך מנגנון reflection חזק שנותן לך את כל מה ש- IDispatch נותן ויותר מזה, אבל לא ברור לי איך (או אם בכלל אפשר) להתממשק בעזרתו לאופיס.

פורסם

שניה, אז איך מתבצעת ההתממשקות לאופיס?

יש משהו שבא במקום automation?

אני יודע שבתוך .NET יש לך מנגנון reflection חזק שנותן לך את כל מה ש- IDispatch נותן ויותר מזה, אבל לא ברור לי איך (או אם בכלל אפשר) להתממשק בעזרתו לאופיס.

אצלי בבית יש מחלקות .net מובנות לכל האופיס הם הגיעו עם האופיס ולא עם הויזאבל סטדיו

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים