Excel 2007 - With Application.FileSearch

Discussion in 'Vapaata keskustelua' started by cross74, Feb 22, 2008.

Thread Status:
Not open for further replies.
  1. cross74

    cross74 Member

    Joined:
    Apr 27, 2004
    Messages:
    23
    Likes Received:
    0
    Trophy Points:
    11
    Juu elikkäs päiviteltiin tässä jokusen aikaa sitten Excel 2003 -> 2007. Ongelma on sellainen että eräs makro on nyt sitten lopettanut toimintansa, ja syykin löytyi kun etsiskelin Googlesta vähän aiheita; tätä With Application.FileSearch -hommaa ei enää käytetä Excel 2007:ssa. Joku hyvin tyhmä päätös Microsoftilta vaihteeksi.
    Olen koittanut katsella tuolta sivuilta vähän että millä tuo koodi pitäisi korvata, mutta en ole tajunnut.

    Ja jos vähän yritän valaista mitä tällä makrolla yritetään tehdä, niin käyttäjä avaa Excelin taulukon, jossa näkyy projekti, joka on aloitettava, ja projektin piirrustuksen numero näkyy projektin omalla rivillä. Makroa on siis käytetty siihen että kuvan numero valitaan, painetaan Avaa-nappia, josta siis käynnistyy tuo makro, joka avaa kuvan, minkä numero on valittuna.

    Kiitos mielettömästi jos joku näkee vaivaa tämän ratkaisun eteen.
    Jostakin "Dir"funktiosta on keskustelufoorumeilla puhuttu, mutta mitäpä minä niistä osaisin sanoa.
    Saattaa olla jopa ihan väärä paikka kysyä tämmöstä, että siirtäkää jonnekin muualle jos tuntuu.

    Ja tässäpä tämä koodi:

    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long



    Private Sub Command1_Click()

    Dim PathInfo As String
    Dim x As String

    Sheets("Tyosto").Select
    rivi = Selection.Row
    Range("B" & rivi).Select
    x = Selection.Value
    tiedosto = x & "*.*"


    With Application.FileSearch 'tälle riville VB ilmoittaa virheen koittaessa ajaa makroa Excel 2007:ssa
    .NewSearch
    .Filename = tiedosto
    .LookIn = "T:\Dokumentit\Kuvat\"
    .SearchSubFolders = False
    If .Execute() > 0 Then
    For i = 1 To .FoundFiles.Count
    PathInfo = .FoundFiles(i)
    Next i
    'Workbooks.Open Filename:=PathInfo
    tieto = "T:\Dokumentit\Kuvat\" & tiedosto

    ShellExecute 0&, vbNullString, PathInfo, vbNullString, vbNullString, vbNormalFocus

    Else
    MsgBox ("Tiedostoa ei löydy!" & Chr(10) & "Tiedoston nimi voi olla väärin." & Chr(10) & "Etsi Tilaukset kansiosta")

    End If

    End With
    Workbooks("Makronnimi.xls").Close savechanges:=False

    End Sub



    Kiitos.
     
Thread Status:
Not open for further replies.

Share This Page