Laat ik het even anders formuleren:
Ik heb het volgende script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| Option Explicit
Dim F As Variant
Sub openpdf()
Dim dbRetValue As Double
Dim stAdobeExe As String, stFileName As String
For Each F In Application.FileSearch.FoundFiles
stAdobeExe = "C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"
stFileName = F
dbRetValue = Shell(stAdobeExe & " " & stFileName, vbMaximizedFocus)
Next F
End Sub
Sub openpdf2()
Dim i As Single
For i = 1 To Application.FileSearch.FoundFiles.Count
Revisie.ListBox1.AddItem Dir(Application.FileSearch.FoundFiles(i))
Next i
Revisie.Show
End Sub
Sub Search_files()
Dim A As String
Dim FileS As FileSearch
Dim dbRetValue As Double
Dim stAdobeExe As String, stFileName As String
Dim X As Variant
A = ActiveCell.Value
If A = "" Then MsgBox ("Selecteer Tekeningnummer")
If A = "" Then Exit Sub
Set FileS = Application.FileSearch
With FileS
.NewSearch
.LookIn = "T:\PROE-PDF\"
.SearchSubFolders = True
.Filename = A & "*.pdf"
.MatchTextExactly = True
.Execute
End With
If Application.FileSearch.FoundFiles.Count = 0 Then MsgBox ("Geen PDF in database")
If Application.FileSearch.FoundFiles.Count = 0 Then Exit Sub
If Application.FileSearch.FoundFiles.Count = 1 Then Call openpdf Else: Call openpdf2
End Sub |
Werking is als volgt. Ik selecteer een cel in Excel. Vervolgens klik ik op de button en wordt sub search_files gestart. Deze bekijkt de cel waarde en gaat op zoek in de database of er een pdf bestand te vinden is. Vindt ie niks dan krijg je een msgbox, krijg je 1 dan wordt de pdf geopend, krijg je meer opties dan krijg je een listbox waaruit je een pdf kunt kiezen. Met een dubbelklik kun je vervolgens deze openen
Wat ik nu dus wil, is dat de button alleen maar functioneert als de actieve cell zich in een bepaald bereik bevindt.
Met de eerdere genoemde oplossingen krijg ik het niet voor elkaar. Ik vraag mij ook af hoe ik de button moet invoegen. Via de werkbalk userform in excel, of via userform in de VBA Editor?
Het verwijt dat ik er niets van begrijp vind ik een beetje uit de lucht gegrepen. Ik ben inderdaad geen ster in het programeren, maar ik kan me er redelijk mee redden. Ik loop alleen vast op dit stukje, dan is het klaar.
[
Voor 1% gewijzigd door
F_J_K op 27-02-2007 08:59
]