Kezdőoldal » Számítástechnika » Programok » Word-ben automatikus vonalkód...

Word-ben automatikus vonalkód generálása megnyitáskor?

Figyelt kérdés
Arra van lehetőség, hogy amikor megnyitom a word-ot akkor fejlécben vagy lábjegyzetben automatikusan új vonalkódot generáljon?

2016. jún. 21. 17:21
 1/7 coopper ***** válasza:

Szia.


Szetintem macróval valahogyan megoldható a dolog, bár a vonalkód generálása az egy nagy falat, azzal nem kinlódnék word macróban.


Én inkább csak arra irnék macrót, hogy egy adott mappából egy adott fájl tartalom alapján (esetlegesen ez a tartalom folyamatoson módosulna - egy szám növekedne benne) az adott mappában elhelyezett vonalkód képeket (amiket előre legenerálsz magadnak) beszúrja a fejlécbe vagy a láblécbe.


A wordben (2010) van (1)-Private Sub Document_New() és (2)-Private Sub Document_Open() macró, amik akkor hivódnak meg, ha új dokumentumot hozol létre (1), vagy megnyitsz egy létező dokumentumot (2).


Sok sikert.

üdv.

2016. jún. 21. 19:37
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
Köszönöm a válaszod!
2016. jún. 21. 21:09
 3/7 A kérdező kommentje:
Hát ez nekem nem megy... Esetleg valaki megszerkesztené nekem? :(
2016. okt. 25. 16:33
 4/7 coopper ***** válasza:

Szia.


Én a következő megoldást hoztam össze (Word 2010) :


1. Egy EXE program ami elkészíti a vonalkódot és bemásolja a vágólapra a vonalkód képét. A vonalkódot egy INI file alapján készíti el. És a programot a Word Macró hívja meg.

2. A word macró ami lefut ha új dokumentumot hoznak létre vagy ha megnyitnak egy létező dokumentumot (A normal.dotm-ben van a macró). Ez a Macró beilleszti a vágólap tartalmát a fejlécbe, majd a vonalkód értékben lévő számot növeli eggyel és visszaírja az ini fájlba, így a segéd exe program következő futtatásakor már az eggyel nagyobb számú vonalkód képét helyezi a vágólapra.


A "Csomag" innen letölthető : [link]


Ami A Csomagba van :


- WordBarCode.exe: A vonalkód generáló segéd program , virustotal ellenőrzőse : [link]


- WordBarCode.ini: a programot és a macrót is vezérlő INI file amelynek így néz ki valahogyan:


[New]

CodeValue=New-1

CodeType=CodeEAN128C

CodeText=True

CodeHeight=42


[Open]

CodeValue=Open-000001

CodeType=CodeEAN128C

CodeText=True

CodeHeight=42


Amint látszik két része van, egy [New] és egy [Open].

Mind két szekció ugyanúgy épül fel.

A "CodeValue=" utáni érték lesz a vonalkód értéke.

A "CodeType=" utáni érték a vonalkód tipusa (felhasználható tipusokat lást később).

A "CodeText=" utánni rész True/False érték lehet. True esetén a vonalkód értéke szövegként a vonalkód alá kerül, mig False érték esetén nem.

A "CodeHeight=" értéke a vonalkód magasságát határozza meg (pixelekben).


Választható vonalkód tipusok (CodeType):


Code_2_5_interleaved,

Code_2_5_industrial,

Code_2_5_matrix,

Code39,

Code39Extended,

Code128A,

Code128B,

Code128C,

Code93,

Code93Extended,

CodeMSI,

CodePostNet,

CodeCodabar,

CodeEAN8,

CodeEAN13,

CodeUPC_A,

CodeUPC_E0,

CodeUPC_E1,

CodeUPC_Supp2,

CodeUPC_Supp5,

CodeEAN128A,

CodeEAN128B,

CodeEAN128C


Alaptipus: CodeEAN128C, tehát ha nem felismerhető érték van a Tipusnál akkor CodeEAN128C lesz használva.


- Macro.bas: Ez a fájl tartalmazza a word macrót. Mielőtt installálnád az első két sort, az elérési útvonalakat javítani kell (Az EXE és az INI fájlok elérési útvonalai).

Private Const File1 As String = "C:\WordBarcode\WordBarCode.ini"

Private Const File2 As String = "C:\WordBarcode\WordBarCode.exe"

Vagy a WordBarCode.exe és a WordBarCode.Ini fájlt a C:\WordBarcode mappába pakolod be.


Installálása:

Elinditod a Wordot, Nyomsz neki egy ALT+F11-et. Bejön a Microsoft Visual Basic. Ebben A "normál" Szekció "Thisdocument" részéhez kell a fájl tartalmát másolni, Sima CTRL+C és CTRL+V (Megnyitod a jegyzettömbbel a MACRO.BAS fájlt kijelölöd az egészet, nyomsz neki egy CTRL+C, átmész a Microsoft Visual Basic-ba ott pediglen a megfelelő helyen nyomsz neki egy CTRL+V, majd mented az egészet). Kép: [link]


- Normal.dotm: Ebben is benne vannak a macrók, akkor érdemes ezt használni, ha nincs más macró installálva, akkor ezt a fájlt egyszerűen csak a következő helyre kell másolni, az ott lévőt felülíratni (érdemes az ott lévőről előtte biztonsági másolatot készíteni): c:\Users\[Felhasználó neve]\AppData\Roaming\Microsoft\Templates\Normal.dotm


Ami a vonalkód kinézetét befolyásolja (a word macróban): Get1 = UjVonalkodLetrehozasa(Get1, "-", 0, 6)

Első paraméter: A vonalkód amit beolvasott az ini fájlból.

Második paraméter: Az elválasztó karakter (Ha üres akkor következő paraméter van használatban)

Harmadik paraméter: A számok kezdetének karaktere (Ha a második paraméter nem üres nincs hatása)

Negyedik paraméter: A számok hossza (kitöltés vezető nullákkal pl : 00001)


Mint látod egész sok ismeretlen dolog van benne, így nem tudom garantálni, hogy csont nélkül fog menni (És természetesen csak is saját felelőségedre használd az esetleges károkért, felelőséget nem válalok). Mivel nagyon sok információval nem rendelkeztem. PL A Macró a fejlécbe másolja a vonalkód képeket, de előtte az egész fejlécet törli (Tehát csak a vonalkód lesz ott). Ha Nálad van valami a fejlécbe akkor át kell írni a word macrót, úgy hogy a megfelelő helyre rakja be a vonalkód képét, előtte törölve az ott lévőt.


Nekem a telefonom segítségével sikerült leolvastatni a képernyőről a vonalkódot. (Igaz a szöveget nem olvasta le, csak a számot).


Amikor elindítod a Wordot, akkor nem készít új vonalkódot (ezt sajnos nem tudom miért van). De ha a File-Új menüpontot használod és az új dokumentum a Normal sablonra épül akkor lesz a fejlécében vonalkód, illetve akkor is változik a fejléc ha már létező dokumentumot nyitsz meg.


Arra azért figyelj, hogy innentől kezdve (Ha installáltad a MACRO.BAS fájlt) minden dokumentum megnyitásakor a fejléc átíródik a vonalkódra, és ami eddig benne volt az törlődik. Ha ezt nem szeretnéd, akkor valamilyen szűrést kell a Macróba rakni (pl. Fájlnév alapján, csak azoknál a fájloknál módositja a fejlécet amik pl. "Szerz"_-sel kezdődnek)


Sok sikert.

üdv.

2016. okt. 26. 19:37
Hasznos számodra ez a válasz?
 5/7 coopper ***** válasza:

Szia.


Módosítottam a programon is és a macron is.


A letöltési link továbbra is él: [link]


Itt a módositott exeprogram virustotal ellenőrzése: [link]


Itt a macrót tudod megnézni (benne van a csomagban): [link]


Ami módosult:


A WordBarCode.exe program most már nem az INI filéből dolgozik, hanem négy paramétert vár (a vonalkód négy adatát - érték, tipus, szöveg, és magasság sorrendben) és ebből készíti el a vonalkód képét és bemásolja a vágólapra


A macróban történt változások:

- az INI filéből beolvassuk a vonalkód négy adatát és ezekkel az adatokkal meghívjuk a a WordBarCode.exe programot.

- Eddig az INI filében a a következő használatkor felhasználandó vonalkód értéke volt, most ez változott annyiban, hogy az INI file mindig a már felhasznált vonalkód értéket tartalmazza (beolvas, növel eggyel, visszaír, felhasznál)

- Illetve a megnyitási macró a vonalkódot a fejléc helyett a láblécbe pakolja.


A word indítását követő "hibát" miszerint ilyenkor nem generál új vonalkódot az új fájlnak a következő képen lehet megkerülni:


Létre kell hozni egy parancsikont a winword.exe programnak (saját gépben megkeresed a winword.exe filét: C:\Program Files\Microsoft Office\Office14\winword.exe) jobb egérgomb a winword.exe filén és a menüből Küldés -> Asztalra (Parancsikon létrehozás) menüpontot választva a parancsikon kikerül az asztalra.


Aztán megkeresed az asztalon az új winword parancsikonját, jobb egérgomb a parancsikonon -> Tulajdonságok -> Parancsikon fülön a "Cél"-nél (ahol a Winword.exe elérése van) a sor végére irj be egy /n -es kapcsolót (tehát igy nézz ki valahogy a "Cél"-ban lévő szöveg: "C:\Program Files\Microsoft Office\Office14\WINWORD.EXE" /n ), majd Alkalmaz gomb és OK gomb.


Innentől kezdve ha az új parancsikonnal inditod el a wordot akkor elindítás után nem készít üres Dok1 fájlt. Hanem mindig a Fájl -> Új menüponttal hozható létre új dokumentum amibe pediglen bekerül a a vonalkód (a régi winwordos parancsikon természetesen a régi módon dolgozik, tehát egyből egy üres dokumentumot nyit meg amiben nincs vonalkód).


Sok sikert.

üdv.

2016. okt. 27. 08:19
Hasznos számodra ez a válasz?
 6/7 coopper ***** válasza:

Szia.


Újabb probléma derült ki, és ennek a problémának a megoldása a következő :


Bevezetésre került az INI filében a vonalméret : LineSize (Ezáltal az EXE program 5 paramétert vár : Vonalkód érték, Vonalkód típus, Szöveg megjelenítése, Vonalkód magassága, és a Vonal mérete). Alapértelmezett vonalméret : 2


Minden javítva a csomagban, letöltési link előző hozzászólásomban.


Üdv.

2016. okt. 27. 12:06
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:

Szia!


Hű nagyon szépen köszönöm! Ahogy hazaértem egyből tanulmányozni is fogom! :)

2016. okt. 27. 13:14

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!