Thread View: pl.comp.bazy-danych.msaccess
5 messages
5 total messages
Started by Phantom
Fri, 23 Mar 2018 12:08
Zapis ścieżki do pliku w polu tekstowym
Author: Phantom
Date: Fri, 23 Mar 2018 12:08
Date: Fri, 23 Mar 2018 12:08
15 lines
1841 bytes
1841 bytes
Witam Potrzebuję zapisywać ścieżki do konkretnych plików pdf znajdujących się na dysku komputera. Moja wizja jest taka: 1. w formularzu mam przycisk "podepnij pdf.."; 2. po kliknięciu otwiera się eksplorator windows; 3. Wybieram lokalizację pliku pdf; 4. Klikam w plik: FV1002018.pdf; 5. Zapisuje mi się ścieżka np.: w polu formularza "[ScPliku]" o treści: C:\Faktury\2018\PDF\FV1002018.pdf Proszę o pomoc lub odesłanie do jakiegoś linku historycznego, który mi pomoże. Z góry dziękuję za pomoc. Pozdrawiam Tomek
Re: Zapis ścieżki do pliku w polu tekstowym
Author: Zbigniew Bratko
Date: Fri, 23 Mar 2018 17:46
Date: Fri, 23 Mar 2018 17:46
151 lines
5637 bytes
5637 bytes
W dniu 2018-03-23 o 13:08, Phantom pisze:
> Witam
>
> Potrzebuję zapisywać ścieżki do konkretnych plików pdf znajdujących się na dysku komputera.
> Moja wizja jest taka:
> 1. w formularzu mam przycisk "podepnij pdf..";
> 2. po kliknięciu otwiera się eksplorator windows;
> 3. Wybieram lokalizację pliku pdf;
> 4. Klikam w plik: FV1002018.pdf;
> 5. Zapisuje mi się ścieżka np.: w polu formularza "[ScPliku]" o treści: C:\Faktury\2018\PDF\FV1002018.pdf
>
> Proszę o pomoc lub odesłanie do jakiegoś linku historycznego, który mi pomoże.
Przykładowy kod ze strony:
http://www.faq.accdb.pl/24a_ApiDlgFaq.htm#api24a_02
'5.2 Jak wyświetlić okno dialogowe " Otwórz plik " lub " Zapisz plik "
'- wersja uproszczona (wybór tylko jednego pliku) ?
Private Declare Function GetSaveFileName Lib "comdlg32.dll" _
Alias "GetSaveFileNameA" _
(pOpenfilename As OPENFILENAME) As Long
Private Declare Function GetOpenFileName Lib "comdlg32.dll" _
Alias "GetOpenFileNameA" _
(pOpenfilename As OPENFILENAME) As Long
Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As Long
nMaxCustrFilter 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
lCustrData As Long
lpfnHook As Long
lpTemplateName As Long
End Type
Private Const OFN_ALLOWMULTISELECT = &H200
' otwiera okno dialogowe " Otwórz plik: " lub " Zapisz jako: " - tylko
wybór jednego pliku
' zwraca pełną ścieżkę pliku, po anulowaniu wyboru pliku zwraca ciąg
zerowej długości ""
Public Function zbDlgSaveOpenFileBis(fSave As Boolean, _
Optional hOwner As Long = 0, _
Optional sTitle As String = "", _
Optional sInitDir As String = "", _
Optional sFilter As String = "", _
Optional lFilterIndex As Long = 0, _
Optional lFlags As Long = 0) As String
Dim ofn As OPENFILENAME
With ofn
.hwndOwner = hOwner
.hInstance = 0
.lpstrInitialDir = sInitDir
If Len(sTitle) = 0 Then
If fSave Then
.lpstrTitle = " Zapisz jako: "
Else
.lpstrTitle = " Otwórz plik: "
End If
Else
.lpstrTitle = sTitle
End If
If Len(sFilter) = 0 Then
.lpstrFilter = "Wszystkie (*.*)" & vbNullChar & "*.*" & _
vbNullChar & vbNullChar
Else
.lpstrFilter = sFilter & vbNullChar
End If
.nFilterIndex = lFilterIndex
.nMaxFile = 260
.lpstrFile = String(.nMaxFile, vbNullChar)
.nMaxFileTitle = 260
.lpstrFileTitle = String(.nMaxFileTitle, vbNullChar)
If lFlags = 0 Then
If fSave = True Then
.flags = &HA080F
Else
.flags = &HA180D
End If
Else
.flags = lFlags
End If
' nie pozwól na wybór wielokrotny
If (lFlags And OFN_ALLOWMULTISELECT) = _
OFN_ALLOWMULTISELECT Then
.flags = .flags And (Not OFN_ALLOWMULTISELECT)
End If
' określ długość zmiennej
.lStructSize = Len(ofn)
If fSave = True Then
GetSaveFileName ofn
Else
GetOpenFileName ofn
End If
zbDlgSaveOpenFileBis = Left$(.lpstrFile, _
InStr(.lpstrFile, vbNullChar) - 1)
End With
End Function
' przykładowe wywołanie:
Private Sub btnPodepnijPdf_Click()
Dim sFilter As String
Dim sRet As String
sFilter = "Pliki pdf (*.pdf)" & vbNullChar & "*.pdf*" & vbNullChar & _
"Wszystkie (*.*)" & vbNullChar & "*.*" & vbNullChar
' okno dialogowe - " Zapisz jako: ""
'sRet = zbDlgSaveOpenFileBis(True, , , "C:\", sFilter)
' okno dialogowe - " Otwórz plik: "
sRet = zbDlgSaveOpenFileBis(False, , , "C:\Faktury\2018", sFilter)
If Len(sRet) = 0 Then
MsgBox "Anulowano"
Else
MsgBox sRet
Me!ScPliku = sRet
End If
End Sub
--
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Re: Zapis ścieżki do pliku w polu tekstowym
Author: Phantom
Date: Sat, 24 Mar 2018 10:24
Date: Sat, 24 Mar 2018 10:24
3 lines
1500 bytes
1500 bytes
Wielkie dzięki!!! Pozdrawiam Tomek
Re: Zapis ścieżki do pliku w polu tekstowym
Author: md
Date: Sun, 25 Mar 2018 17:33
Date: Sun, 25 Mar 2018 17:33
37 lines
2224 bytes
2224 bytes
Function sciezka_odczytywanego_pliku(filtr As String) As String
'wywołanie x = sciezka_odczytywanego_pliku("wybrane pliki (*.mdb;*.mde;*.))
lub co sobie wymyślisz :)
On Error Resume Next
WizHook.Key = 51488399
WizHook.GetFileName 0, "", "", "", sciezka_odczytywanego_pliku, "",
filtr, 0, 0, 0, True
End Function
funkcja opiera się na nieudokumetowanej bibliotece, ale szeroko opisanej :)
istotny jest numer WizHook.Key = 51488399 bo daje do niej dostęp
md
"Phantom" <biuro.tekaoprogramowanie@gmail.com> wrote in message
news:42ca43b9-0cab-4dd0-b326-b07f93e382fd@googlegroups.com...
Witam
Potrzebuję zapisywać ścieżki do konkretnych plików pdf znajdujących się na
dysku komputera.
Moja wizja jest taka:
1. w formularzu mam przycisk "podepnij pdf..";
2. po kliknięciu otwiera się eksplorator windows;
3. Wybieram lokalizację pliku pdf;
4. Klikam w plik: FV1002018.pdf;
5. Zapisuje mi się ścieżka np.: w polu formularza "[ScPliku]" o treści:
C:\Faktury\2018\PDF\FV1002018.pdf
Proszę o pomoc lub odesłanie do jakiegoś linku historycznego, który mi
pomoże.
Z góry dziękuję za pomoc.
Pozdrawiam
Tomek
Re: Zapis ścieżki do pliku w polu tekstowym
Author: Phantom
Date: Mon, 26 Mar 2018 16:08
Date: Mon, 26 Mar 2018 16:08
7 lines
1714 bytes
1714 bytes
Wow Wygląda dobrze a przede wszystkim oszczędnie w treści :) Na razie wykorzystałem kod podrzucony przez ZB, który działa pięknie. Nie omieszkam sprawdzić ten, w wolnej chwili. Dziękuję i pozdrawiam Tomek
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads