Avatar billede vb-wanna-b Nybegynder
04. november 2003 - 09:18 Der er 12 kommentarer og
1 løsning

fra scanner til fil (tough one...for me anyway)

hvordan kan jeg sende det objekt jeg har scannet til en funktion der kan gemme det som fil på HD
ScanDev.OpenScanner
ScanDev.StartScan

ovenstående to funktioner giver mig fint nok adgang til scanneren og jeg kan scanne det jeg har lyst til
ScanDev.ScanTo =
men jeg kender kun til  ScanTo = Displayonly kan man oprette  en ScanTo = variable (der kan indeholde OLE objekt)

Save as module:
Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias _
"GetSaveFileNameA" (pSavefilename As SAVEFILENAME) As Long


Private Type SAVEFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

Function savefileas(strform As Form) As String
Dim SaveFile As SAVEFILENAME
Dim lReturn As Long
Dim sFilter As String
SaveFile.lStructSize = Len(SaveFile)
SaveFile.hwndOwner = strform.Hwnd
sFilter = "All Files (*.*)" & Chr(0) & "*.*" & Chr(0) & _
"JPEG Files (*.JPG)" & Chr(0) & "*.JPG" & Chr(0)
SaveFile.lpstrFilter = sFilter
SaveFile.nFilterIndex = 1
SaveFile.lpstrFile = String(257, 0)
SaveFile.nMaxFile = Len(SaveFile.lpstrFile) - 1
SaveFile.lpstrFileTitle = SaveFile.lpstrFile
SaveFile.nMaxFileTitle = SaveFile.nMaxFile
SaveFile.lpstrInitialDir = "C:\"
SaveFile.lpstrTitle = "Select a file using the Common Dialog DLL"
SaveFile.flags = 0
lReturn = GetSaveFileName(SaveFile)
If lReturn = 0 Then
MsgBox "A file was not selected!", vbInformation, _
"Please type in a filename"
Else
savefileas = Trim(Left(SaveFile.lpstrFile, InStr(1, SaveFile.lpstrFile, vbNullChar) - 1))
End If
End Function

opsummering:
Jeg vil gerne kunne gemme det objekt jeg scanner som en fil jeg selv definere til en mappe jeg selv vælger. fil definition og mappe valget virker med save as modulet, men jeg får en fejl hver gang jeg forsøger at gemme
Avatar billede terry Ekspert
04. november 2003 - 09:27 #1
I think your first problem is to find out if you can give a file name here

ScanDev.ScanTo =


and as I know nothing to what software you are using I cant say. Do you have any documentation on this control?
Avatar billede vb-wanna-b Nybegynder
04. november 2003 - 09:31 #2
I do not wish to specify the filename in advance, I want to type it in myself.
and..maybe I should have mentioned... I use vba 6.0 under ms access 2000
the control I use to save it GetSaveFileName it works like common dialog which I cant get to work.. the drag and drop feature Active X thing.
Avatar billede overchord Nybegynder
04. november 2003 - 10:45 #3
Proev at bruge dette saet scripts til at kalde din fil-dialog:

http://www.mvps.org/access/api/api0001.htm
Avatar billede vb-wanna-b Nybegynder
04. november 2003 - 10:49 #4
som jeg skrev virker fil dialog fint nok..men jeg kan ikke få parset det indscannede dokument til dialog boksen...så jeg kan ikke gemme noget...
Avatar billede larsjordan Nybegynder
04. november 2003 - 13:03 #5
Me.ScanDev.ResetScanner
Me.ScanDev.Image = "C:\detteermitfilnavn.tif"
Me.ScanDev.MultiPage = True
Me.ScanDev.ShowSetupBeforeScan = true 'viser TWAIN dialogen
Me.ScanDev.PageOption = 2 'AppendPages
Me.ScanDev.ScanTo = 2 'FileOnly
Me.ScanDev.OpenScanner
me.ScanDev.StartScan
Me.ScanDev.CloseScanner
Avatar billede terry Ekspert
04. november 2003 - 20:24 #6
Can you tell me what control your using for your scanner please?
Avatar billede larsjordan Nybegynder
05. november 2003 - 07:11 #7
Det er helt sikkert Kodak Imaging Scan Control. Iøvrigt bør du prompt for filnavnet først evt. ved at anvende Microsoft Common Dialog kontrollen.

Indsæt en ny control af typen Microsoft Common Dialog på din formular, og kald den Commondialog1. koden skal så ændres til:

Dim strFileName As String
Me.CommonDialog1.CancelError = False
Me.CommonDialog1.ShowSave
strFileName = Me.CommonDialog1.FileName
if strFilename = "" then
    'Brug valgte ikke noget filnavn
else
    Me.ScanDev.ResetScanner
    Me.ScanDev.Image = strFileName
    Me.ScanDev.MultiPage = True
    Me.ScanDev.ShowSetupBeforeScan = true 'viser TWAIN dialogen
    Me.ScanDev.PageOption = 2 'AppendPages
    Me.ScanDev.ScanTo = 2 'FileOnly
    Me.ScanDev.OpenScanner
    me.ScanDev.StartScan
    Me.ScanDev.CloseScanner
end if
Avatar billede vb-wanna-b Nybegynder
06. november 2003 - 08:52 #8
kan ikke indsætte active X common dialog control... får OLE server fejl...
og den har jeg endnu ikke kunne løse... jeg er obs på at jeg skal have lavet en save as funktion og det har jeg lavet.... men jeg roder lidt mere med den image kontrol kode du viste mig (du får naturligvis pointene hvis jeg får det til at spille)...PageOption = 1 gætter jeg rigtigt hvis det er single page scan??
Avatar billede vb-wanna-b Nybegynder
06. november 2003 - 10:34 #9
scanner delen ser nu ud til at virke...
Dim saving As String
    Me!saving = savefileas(Me)
    Me!ScanDev.ResetScanner
    Me!ScanDev.Image = saving
    Me!ScanDev.MultiPage = False
    Me!ScanDev.ShowSetupBeforeScan = True 'viser TWAIN dialogen
    Me!ScanDev.PageOption = 1 'Singlepage scanning
    Me!ScanDev.ScanTo = 2 'FileOnly
    Me!ScanDev.OpenScanner
    Me!ScanDev.StartScan
    Me!ScanDev.CloseScanner

men... det filnavn man taster ligner noget der er løgn. men hvis jeg renamer filen til *.tiff så kan man se at det rent faktisk er lykkeds at få scannet og gemt billedet..men hvorfor pokker laver det sådan noget med filnavnet.. jævnfør den kode jeg skrev i starten.. det må være et type ting jeg misser...
Avatar billede vb-wanna-b Nybegynder
06. november 2003 - 11:40 #10
fejl lure...
hvis jeg selv definere min extenstion virker skidtet....men...
ville naturligvis gerne ha at filteret virker....
det er det sidste der mangler....
Avatar billede vb-wanna-b Nybegynder
06. november 2003 - 14:38 #11
oh well..har clearet extention valg... ikke optimalt men det virker da... så jeg fik min oprindelige kode til at virke... finaly a success
Avatar billede larsjordan Nybegynder
06. november 2003 - 14:43 #12
Så ingen point til andre :-(
Avatar billede vb-wanna-b Nybegynder
06. november 2003 - 14:48 #13
intet af virked uden seriøse ændringer.... det jeg ikke kunne få til at spille var fil dialog delen (viste det sig) og jeg kan af en eller anden årsag ikke indsætte en common dialog control i min db... selvom komponentet er registreret..af installeret og registreret igen... så jeg har måtte lave en funktion selv... korrekt at du hjalp med .image delen... nice nok... men det er ikke til 60 point... vil gerne oprette et ? som du kan få ½-delen for,,,hvis det er ok...let me know..så opretter jeg lige et
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester