Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

citanje el licne karte i saobracajne dozvole u excel

  • 103 odgovora
  • 62.794 pregleda

Najnovija ↓

Re: citanje el licne karte i saobracajne dozvole u excel 11.02.2024. u 23:35 · pre 33 meseca #101
Zbog nemogućnosti ispravnog korišćenja ActiveX dll-ova koji su pisani recimo u VB6 i dr. starijim razvojnim okruženjima iste je moguće učitati bez menjanja istih pomoću ActiveX Exe biblioteke.

U te svrha na navedenom linku se nalazi ActiveX Exe biblioteka koja to rešava kao i praktičan primer na primeru MUPLKLib.dll.

Ovim se omogucava koriscenje svih starih ActiveX dll-ova u MS Office 64-bit VBA okruzenju.

Github link:
https://github.com/bokidotnet/activexdllvb6office64bit/

Primer koda na Github:
https://github.com/bokidotnet/.../main/VB6Office64%20primer.bas
Re: citanje el licne karte i saobracajne dozvole u excel 11.06.2024. u 14:15 · pre 29 meseci #102
iz vb6 i vb.net radi odlicno ali licna karta koja je izdata 14.12.23
vraca error -3 "EID_E_VERSION_NOT_SUPPORTED = -3"
da li jos neko ima taj problem. inace licna karta se iz programa
"Čitač elektronske lične karte 1.4.1" sasvim uredno ocitava.
Hvala unapred
Re: citanje el licne karte i saobracajne dozvole u excel 31.10.2026. u 14:37 · pre 1h 36min #104
VBA - ČITANJE SAOBRAĆAJNE U WIN 11 64 BIT I OFFICE 64 BIT
Imao sam problem sa VBA kodom jer mi je ranije radio kao sat, međutim sda na WIN 11 ni makac... i onnda instaliram Autoit ( veza: https://www.autoitscript.com/site/autoit/downloads/ i napravim u njegovom rootu sledeću datoteku:

#include <Clipboard.au3>

Global $N = "Čitač elektronske saobraćajne dozvole"

WinWait($N, "", 10)

WinActivate($N)

Sleep(1500)

ControlClick($N, "", "[TEXT:Pročitaj saobraćajnu dozvolu]")

Sleep(5000)

$RegBr = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:18]")
$Marka = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:21]")
$Model = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:17]")
$PrvaReg = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:19]")
$Godina = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:20]")
$Boja = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:10]")
$Sasija = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:16]")
$Motor = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:9]")
$Snaga = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:15]")
$Zapremina = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:14]")
$Masa = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:12]")
$Nosivost = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:5]")
$Sedista = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:11]")
$Stajanje = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:8]")
$Vrsta = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:7]")
$Gorivo = ControlGetText($N,"","[CLASS:WindowsForms10.EDIT.app.0.378734a;INSTANCE:6]")

ClipPut($RegBr & "|" & _
$Marka & "|" & _
$Model & "|" & _
$PrvaReg & "|" & _
$Godina & "|" & _
$Boja & "|" & _
$Sasija & "|" & _
$Motor & "|" & _
$Snaga & "|" & _
$Zapremina & "|" & _
$Masa & "|" & _
$Nosivost & "|" & _
$Sedista & "|" & _
$Stajanje & "|" & _
$Vrsta & "|" & _
$Gorivo)


a onda u vba u excelu, novi modul i u njega:
Option Explicit

Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As LongPtr

Sub CitajSaobracajnu_201()

Dim hWnd As LongPtr
Dim DataObj As New MSForms.DataObject
Dim A As Variant
Dim C As Long
Dim Sasija As String

hWnd = FindWindow(vbNullString, "Čitač elektronske saobraćajne dozvole")

If hWnd = 0 Then

Shell "c:\MUPRS\CitacSaobracajne\CitacSaobracajne.exe", vbNormalFocus

Application.Wait Now + TimeValue("00:00:04")

End If

Shell """C:\Program Files (x86)\AutoIt3\AutoIt3.exe"" ""C:\Program Files (x86)\AutoIt3\CitajSaobracajnu_201.au3""", vbHide

Application.Wait Now + TimeValue("00:00:08")

DataObj.GetFromClipboard

If Trim(DataObj.GetText) = "" Then

MsgBox "Clipboard je prazan.", vbExclamation

Exit Sub

End If

A = Split(DataObj.GetText, "|")

Sasija = Trim(A(6))

If Sasija = "" Then

MsgBox "Broj šasije nije pronađen.", vbExclamation

Exit Sub

End If

' PROVERA DUPLIKATA
For C = 2 To 500

If Trim(Cells(9, C).Value) = Sasija Then

MsgBox _
"VOZILO JE VEĆ UNETO!" & vbCrLf & vbCrLf & _
"Broj šasije: " & Sasija, _
vbCritical

Beep

Exit Sub

End If

Next C

' PRVA PRAZNA KOLONA PO MARKI
For C = 2 To 500

If Trim(Cells(4, C).Value) = "" Then Exit For

Next C

If C > 500 Then

MsgBox "Nema više slobodnih kolona.", vbExclamation

Exit Sub

End If

Cells(3, C) = A(0) ' Registracija
Cells(4, C) = A(1) ' Marka
Cells(5, C) = A(2) ' Model
Cells(6, C) = A(3) ' Datum prve registracije
Cells(7, C) = A(4) ' Godina proizvodnje
Cells(8, C) = A(5) ' Boja
Cells(9, C) = A(6) ' Broj šasije
Cells(10, C) = A(7) ' Broj motora
Cells(11, C) = A(8) ' Snaga
Cells(12, C) = A(9) ' Zapremina
Cells(13, C) = A(10) ' Masa
Cells(14, C) = A(11) ' Nosivost
Cells(15, C) = A(12) ' Broj sedišta
Cells(16, C) = A(13) ' Broj mesta za stajanje
Cells(17, C) = A(14) ' Vrsta vozila
Cells(18, C) = A(15) ' Pogonsko gorivo

Application.StatusBar = _
"Učitano vozilo u kolonu " & _
Split(Cells(1, C).Address, "$")(1)

Beep

End Sub

i eto rešio problem... na listu će učitati podatke iz saobraćajne od kolon B nadalje ... Meni zasad radi i to dobro. I još nešto.. ovaj način povezivanja može uzimati podatke i za ostale aplikacije, lične, zdravstvene... samo putanje izmenite...

Prijatno
200-VOZILA.xlsm
CitajSaobracajnu_201.zip
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme