איך עושים ברקוד באקסס ללא ActivX
-
שלום
אני השתמשתי עד היום עם ברקוד של BarCodeWiz וזה קובץ DLL שמזוהה כ ActieX וצריך להוסיף אותו ל Reference בפרוייקט.
אני מעוניין להפסיק להשתמש עם תוספות חיצוניות ורפרנסים (שעושים בעיות במחשבים שונים וכדו').
מצאתי קוד VBA עבור אקסל שהוא ניגש לוורד (ללא רפרנס אלא באובייקט) ומקבל משם את DISPLAYBARCODE.השאלה היא איך ממירים את הקוד ל Access.
זה קישור לקוד:
https://stackoverflow.com/questions/40790010/how-to-generate-barcodes-in-excel-worksheetSub INSERT_BARCODE() Const BarcodeWidth As Integer = 156 Dim ws As Worksheet, WdApp Set ws = ActiveSheet Set WdApp = CreateObject("Word.Application") With WdApp.Documents.Add .PageSetup.RightMargin = .PageSetup.PageWidth - .PageSetup.LeftMargin - BarcodeWidth .Fields.Add(Range:=.Range, Type:=-1, Text:="DISPLAYBARCODE " & CStr(Selection.Value) & " CODE39 \d \t", PreserveFormatting:=False).Copy End With ws.PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False WdApp.Quit SaveChanges:=False Set WdApp = Nothing End Sub
-
@yits
0_1518638542437_free3of9.zip
0_1518638546759_code39.ttfמקורות
https://github.com/craftti/barcode/tree/master/fonts
https://www.barcodesinc.com/free-barcode-font/אני השתמשתי בגופן באחד הפרוייקטים שלי ועבד מצויין.
-
@clickone
האם צריך להתקין את הפונט בכל מחשב או שאפשר להטמיע אותו בקובץ אקסס שלי
או שהצמדה של הפונט בתיקיה עוזרת.מה שאני מעדיף את הפונקציה הקודמת כי היא נותנת לי הרבה סוגי ברקוד כמו en13 QrCode
https://msdn.microsoft.com/en-us/library/hh745901(v=office.12).aspx -
@yits צריך להתקין את הפונט בכל מחשב. (פעולה של כמה שניות)
לא התנסתי בהצמדה של גופן.האפשרות של הוורד גם מחייבת התקנה של וורד בכל מחשב. מנסיון, יותר קל האפשרות של התקנת הגופן מאשר התקנת הוורד, בעיקר אם התוכנה שלך תהיה מסחרית ותיתקל בבעיות רישוי.
יש גופנים גם לQR.
-
@yits הנה בכל מקרה הקוד לאקסס.
למעט ההדבקה.
בזה זה ממש שונה מאקסל.
צריך לחשוב על שמירה בשם לקובץ תמונה.
אבל זה עדיין פחות מגופן.Sub INSERT_BARCODE() Const BarcodeWidth As Integer = 156 'Dim ws As Worksheet, WdApp 'Set ws = ActiveSheet Set WdApp = CreateObject("Word.Application") With WdApp.Documents.Add .PageSetup.RightMargin = .PageSetup.PageWidth - .PageSetup.LeftMargin - BarcodeWidth .Fields.Add(Range:=.Range, Type:=-1, Text:="DISPLAYBARCODE " & CStr("1234") & " CODE39 \d \t", PreserveFormatting:=False).Copy End With WdApp.Visible = True 'ws.PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False WdApp.Quit SaveChanges:=False Set WdApp = Nothing End Sub
ועוד משהו, אתה יותר ממוזמן לפורום תיכנות כאן.
-
@clickone אמר באיך עושים ברקוד באקסס ללא ActivX:
האפשרות של הוורד גם מחייבת התקנה של וורד בכל מחשב. מנסיון, יותר קל האפשרות של התקנת הגופן מאשר התקנת הוורד, בעיקר אם התוכנה שלך תהיה מסחרית ותיתקל בבעיות רישוי.
התוכנה שלי כוללת טופס מודלרי (פקדים משתנים תוך כדי ריצה) הבנתי שאי אפשר ליצור קובץ ריצה כך שצריך התקנה מלאה של אופיס.
האם יש בכל אופן אפשרות לסגור כזה דבר ACCDE? -
@clickone
יש לי טופס שמכיל רשימת סוגים ולידם מופיע ChkBox לסימון V
אני טוען את הרשימה מתוך טבלה.אז בעיקרון הכי פשוט לעשות כמו שאתה חושב ליצור טופס שה RecordSource יהיה טבלה.
הבעיה היא כזאת:
אני משתמש בזה בשני מקומות 1. במסך הגדרות 2. בסינונים.יש לי מסך הגדרות ושם אני נותן למשתמש להחליט מה יהיה מסומן כברירת מחדל בטופס סינונים (גם זה לכאורה לא בעיה).
בסינונים אני טוען את רשימת הסוגים עם ChkBox ואפשר לשנות את הברירת מחדל עבור הסינון הנוכחי אבל אני לא רוצה לשמור את זה לטבלה כי זה זמני.