Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  VBasic / vb.net / vbs / wsh
  Umstellung 2003 auf 2010 (LZFehler 91)

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Leitfaden für die Materialauswahl im Spritzguss, ein Fachartikel
Autor Thema:  Umstellung 2003 auf 2010 (LZFehler 91) (2031 mal gelesen)
alvi
Mitglied


Sehen Sie sich das Profil von alvi an!   Senden Sie eine Private Message an alvi  Schreiben Sie einen Gästebucheintrag für alvi

Beiträge: 8
Registriert: 31.07.2013

erstellt am: 31. Jul. 2013 10:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo liebe Leute

Ich habe das Forum nun gut 2h durchsucht und viele Probleme lösen können.
Nun stehe ich aber am Berg. Vorallem da ich kaum Ahnung von der Materie habe.

Das Ziel:
Makro soll in einem Ordner nach files suchen und diese einlesen.

Beim Debug kommt nun der Error bei folgendem Abschnitt.

ASF.NewSearch
  ASF.LookIn = strFilePath
  ASF.FileName = "*.xls"

  If ASF.Execute(SortBy:=msoSortByFileName, _
    SortOrder:=msoSortOrderAscending) > 0 Then
       
        'Zählen wieviele Dateien sich in dem Ordner befinden
        'MsgBox "There were " & ASF.FoundFiles.Count & _
          '" file(s) found."
        strFound = ASF.FoundFiles.Count
        MsgBox ("Es wurden" & strFound & " Dateien gefunden. Diese werden nun geöffnet und die relevanten Werte ausgelesen.")
       
        'Öffnen und Auslesen der einzelnen Dateien
        For i = 1 To ASF.FoundFiles.Count
            strFileName = ASF.FoundFiles(i)
            Workbooks.Open ASF.FoundFiles(i)
            Length = Len(strFileName)
            'MsgBox ("Die vorherige Datei wurde geschlossen. Nun wird folgende Datei geöffnet: " & strFileName)
           
            'Auslesen des .xls filenamens
            For o = 1 To Length
                If Mid(strFileName, Length - o, 1) = "\" Then
                    ShortFileName = Right(strFileName, o)
                    Exit For
                End If
            Next o
                                   
            If Workbooks("Auswertung.xls").Sheets("Menü").Cells(11, 5).Value = "Ja" Then
                Workbooks(ShortFileName).Sheets("Eingabe").Cells(4, 9).Value = Workbooks("Auswertung.xls").Sheets("Menü").Cells(12, 5).Value
                Workbooks(ShortFileName).Sheets("Eingabe").Cells(5, 9).Value = Workbooks("Auswertung.xls").Sheets("Menü").Cells(13, 5).Value
            End If
                                   
            'Einkopieren der relevanten Einträge über die Mappingtabelle
            For p = 2 To MappingEnde
                SourceActualColumn = Workbooks("Auswertung.xls").Sheets("MappingAuslesenLG").Cells(p, 2).Value
                SourceActualRow = Workbooks("Auswertung.xls").Sheets("MappingAuslesenLG").Cells(p, 1).Value
                GoalActualColumn = Workbooks("Auswertung.xls").Sheets("MappingAuslesenLG").Cells(p, 3).Value
                Workbooks("Auswertung.xls").Sheets("AuswertungLG").Cells(StartTabelle, GoalActualColumn) = Workbooks(ShortFileName).Sheets("Eingabe").Cells(SourceActualRow, SourceActualColumn).Value
            Next p

          StartTabelle = StartTabelle + 1
          Workbooks(ShortFileName).Close SaveChanges:=False
         
          Next i
                                     
    Else
        MsgBox "There were no files found."
    End If

End Sub

Diese Makros wurden für uns mal erstellt und nie gewartet und nun da wir Office 2010 haben läuft es nicht mehr.
gibt es hier einen easy work around?

Besten Dank für die Zeit

Alvi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RSchulz
Ehrenmitglied V.I.P. h.c.
Head of CAD, Content & Collaboration / IT-Manager



Sehen Sie sich das Profil von RSchulz an!   Senden Sie eine Private Message an RSchulz  Schreiben Sie einen Gästebucheintrag für RSchulz

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 31. Jul. 2013 10:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für alvi 10 Unities + Antwort hilfreich

Hallo Alvi,

was für ein Fehler kommt denn wo? Bist du mal Schritt für Schritt durchgegangen?

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Ehrenmitglied V.I.P. h.c.
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 31. Jul. 2013 10:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für alvi 10 Unities + Antwort hilfreich

Hallo alvi,

und herzlich willkommen im SolidWorksbrett auf CAD.de 

Der Laufzeitfehler: '91' Objektvariable oder With Block nicht festgelegt bedeutet, dass die Variable (welche kannst nur du beantworten, der Debugger steht dann normalerweise in genau der Zeile) nicht definiert ist, sprich, sie hat keinen Inhalt und ist Nothing. Da ist vermutlich durch die Umstellung auf VBA7 in Office 2010 etwas anders als vorher.

Ich vermute, dass es etwas mit dem Objekt ASF zu tun hat, leider ist keine Deklaration oder so zu sehen. Vielleicht benutzt das Windows API Calls, die müssen ggf. anders deklariert werden, siehe http://msdn.microsoft.com/de-de/library/office/ee691831(v=office.14).aspx

Vielleicht hilft das schon weiter.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

alvi
Mitglied


Sehen Sie sich das Profil von alvi an!   Senden Sie eine Private Message an alvi  Schreiben Sie einen Gästebucheintrag für alvi

Beiträge: 8
Registriert: 31.07.2013

erstellt am: 20. Aug. 2013 13:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Stefan

das ging ja fix mit der Antwort. Leider hatte ich lange Zeit mehr für das Thema.
Mir scheint, dass er ASF.Newsearch nicht versteht.
gibt es denn dafür einen neuen code?
so wie ich das verstehe, muss dieser Befehl einfach eine Suche auslösen, die dann weiter unter noch deffiniert wird.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

alvi
Mitglied


Sehen Sie sich das Profil von alvi an!   Senden Sie eine Private Message an alvi  Schreiben Sie einen Gästebucheintrag für alvi

Beiträge: 8
Registriert: 31.07.2013

erstellt am: 20. Aug. 2013 13:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hier noch der obere Teil zum Thema ASF:

'Kreieren von ASF Objekt
  Dim ASF As Object
 
  'Öffnen der Dateien durchscannen dieser
  'Initialisieren des Objektes und suchen nach .xls Dateien
  strFilePath = Workbooks("Auswertung.xls").Sheets("Menü").Cells(14, 5).Value

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Comos User
Mitglied



Sehen Sie sich das Profil von Comos User an!   Senden Sie eine Private Message an Comos User  Schreiben Sie einen Gästebucheintrag für Comos User

Beiträge: 112
Registriert: 23.03.2010

erstellt am: 21. Aug. 2013 12:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für alvi 10 Unities + Antwort hilfreich

Hallo alvi,

so wie du es hier gepostet hast kann das nie gelaufen sein.

mit

Code:
'Kreieren von ASF Objekt
  Dim ASF As Object
wird zwar ein Objekt deklariert, jedoch nicht kreiert. Das im Kommentar zu behaupten reicht leider nicht 
vor der ersten Nutzung, also warscheinlich ASF.NewSearch erstellt werden.

es muß eine Zuweisung nach dem Muster

Code:
SET ASF = CreateObject(.........)
oder auch
Code:
Set ASF = New ...
geben.

Dann sieht man auch von welchen Typ dieses Objekt ist und kann dann ermitteln ob es eine Methode 'NewSearch' besitzt.

Gruß
Peter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

alvi
Mitglied


Sehen Sie sich das Profil von alvi an!   Senden Sie eine Private Message an alvi  Schreiben Sie einen Gästebucheintrag für alvi

Beiträge: 8
Registriert: 31.07.2013

erstellt am: 21. Aug. 2013 13:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

oho! macht sinn!
bedanke mich für den Hinweis und werde es demnächst testen.

danke schön an alle Ratschläge soweit!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

alvi
Mitglied


Sehen Sie sich das Profil von alvi an!   Senden Sie eine Private Message an alvi  Schreiben Sie einen Gästebucheintrag für alvi

Beiträge: 8
Registriert: 31.07.2013

erstellt am: 21. Aug. 2013 15:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Peter

Danke für deine Zeit.

Nun bin ich aber wie erwähnt ein blutiger Anfänger.

Ich verstehe was du meinst. Befehlt Kreieren wird nicht ausgeführt.
DIM ASF ist nur eine definition.

Wie sollte den der Code aussehen, damit er im Explorer diese X-Anzahlfiles sucht und einliest?

Falls du nochmal Zeit hast, wäre ich froh um eine Anpassung wie du denkst, dass es funktionieren müsste.

Beste Grüsse

Alvi

Sub DEinlesenLG()

Dim LGPeriode As Date
Dim StartTabelle As Integer
Dim MappingEnde As Integer
Dim SourceActualColumn As Integer
Dim SourceActualRow As Integer
Dim GoalActualColumn As Integer
Dim Aufsummierung As Double

Dim strFilePath As String
Dim strFound As Variant
Dim strFileName As String
Dim ShortFileName As String
Dim strDate As String

' Variablen füllen
LGPeriode = Workbooks("Auswertung.xls").Sheets("Menü").Cells(12, 5).Value
StartTabelle = 7
MappingEnde = RowCount("MappingAuslesenLG", 1)

Sheets("AuswertungLG").Range("A2:FF60000").Delete
 
  'Kreieren von ASF Objekt
  Dim ASF As Object
 
 
  'Öffnen der Dateien durchscannen dieser
  'Initialisieren des Objektes und suchen nach .xls Dateien
  strFilePath = Workbooks("Auswertung.xls").Sheets("Menü").Cells(14, 5).Value
 
  ASF.NewSearch
  ASF.LookIn = strFilePath
  ASF.FileName = "*.xls"

  If ASF.Execute(SortBy:=msoSortByFileName, _
    SortOrder:=msoSortOrderAscending) > 0 Then
       
        'Zählen wieviele Dateien sich in dem Ordner befinden
        'MsgBox "There were " & ASF.FoundFiles.Count & _
          '" file(s) found."
        strFound = ASF.FoundFiles.Count
        MsgBox ("Es wurden" & strFound & " Dateien gefunden. Diese werden nun geöffnet und die relevanten Werte ausgelesen.")
       
        'Öffnen und Auslesen der einzelnen Dateien
        For i = 1 To ASF.FoundFiles.Count
            strFileName = ASF.FoundFiles(i)
            Workbooks.Open ASF.FoundFiles(i)
            Length = Len(strFileName)
            'MsgBox ("Die vorherige Datei wurde geschlossen. Nun wird folgende Datei geöffnet: " & strFileName)
           
            'Auslesen des .xls filenamens
            For o = 1 To Length
                If Mid(strFileName, Length - o, 1) = "\" Then
                    ShortFileName = Right(strFileName, o)
                    Exit For
                End If
            Next o
                                   
            If Workbooks("Auswertung.xls").Sheets("Menü").Cells(11, 5).Value = "Ja" Then
                Workbooks(ShortFileName).Sheets("Eingabe").Cells(4, 9).Value = Workbooks("Auswertung.xls").Sheets("Menü").Cells(12, 5).Value
                Workbooks(ShortFileName).Sheets("Eingabe").Cells(5, 9).Value = Workbooks("Auswertung.xls").Sheets("Menü").Cells(13, 5).Value
            End If
                                   
            'Einkopieren der relevanten Einträge über die Mappingtabelle
            For p = 2 To MappingEnde
                SourceActualColumn = Workbooks("Auswertung.xls").Sheets("MappingAuslesenLG").Cells(p, 2).Value
                SourceActualRow = Workbooks("Auswertung.xls").Sheets("MappingAuslesenLG").Cells(p, 1).Value
                GoalActualColumn = Workbooks("Auswertung.xls").Sheets("MappingAuslesenLG").Cells(p, 3).Value
                Workbooks("Auswertung.xls").Sheets("AuswertungLG").Cells(StartTabelle, GoalActualColumn) = Workbooks(ShortFileName).Sheets("Eingabe").Cells(SourceActualRow, SourceActualColumn).Value
            Next p

          StartTabelle = StartTabelle + 1
          Workbooks(ShortFileName).Close SaveChanges:=False
         
          Next i
                                     
    Else
        MsgBox "There were no files found."
    End If

End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Ehrenmitglied V.I.P. h.c.
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 12005
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 22. Aug. 2013 06:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für alvi 10 Unities + Antwort hilfreich

Servus
Probiere es mal mit
Code:
Set ASF = Application.FileSearch
siehe auch hier.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

alvi
Mitglied


Sehen Sie sich das Profil von alvi an!   Senden Sie eine Private Message an alvi  Schreiben Sie einen Gästebucheintrag für alvi

Beiträge: 8
Registriert: 31.07.2013

erstellt am: 22. Aug. 2013 14:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

na da brat mir doch einer nen storch!
habe es mal so gemacht:

  ASF.NewSearch
  ASF.LookIn = strFilePath
  ASF.FileName = "*.xls"

und nun ist der laufzeitfehler weg! freide herrscht im ganzen land


aber er meint nun, dass er keine files findet. Werde mal schauen was da los ist, denn die files sind hier.

aber besten dank für die Zeit und Geduld soweit

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 22. Aug. 2013 17:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für alvi 10 Unities + Antwort hilfreich

Hallo,

in 2010 gibt es das FileSearch-Objekt nicht mehr. Da du nur auf einer Ebene (ohne Unterordner) suchst kannst du das Ganze mit der Dir-Funktion ersetzen.

------------------
Gruß
Nepumuk 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

alvi
Mitglied


Sehen Sie sich das Profil von alvi an!   Senden Sie eine Private Message an alvi  Schreiben Sie einen Gästebucheintrag für alvi

Beiträge: 8
Registriert: 31.07.2013

erstellt am: 26. Aug. 2013 08:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ich verstehe!
okay... aber wie funktioniert diese "dir" funktion :-)
wie müssten denn dann dieser befehl lauten gemäss meiner Formel oben?

es ist ein drama ;-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 26. Aug. 2013 10:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für alvi 10 Unities + Antwort hilfreich

Hallo,

ein Beispiel:

Code:
Public Sub Beispiel()
   
    Dim strPath As String, strFilename As String
   
    strPath = Workbooks("Auswertung.xls").Sheets("Menü").Cells(14, 5).Value
   
    If Right$(strPath, 1) <> "\" Then strPath = strPath & "\"
   
    strFilename = Dir$(strPath & "*.xls")
   
    Do Until strFilename = vbNullString
   
   
        MsgBox strPath & strFilename ' Nur zum Testen
       
       
        strFilename = Dir$
   
    Loop
End Sub

Kennst du übrigens die Hilfefunktion von Excel? Da ist alles beschrieben.

------------------
Gruß
Nepumuk 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

alvi
Mitglied


Sehen Sie sich das Profil von alvi an!   Senden Sie eine Private Message an alvi  Schreiben Sie einen Gästebucheintrag für alvi

Beiträge: 8
Registriert: 31.07.2013

erstellt am: 26. Aug. 2013 10:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Das geht ja hier schlag auf schlag.

danke für den tipp! werde es heute nachmittag mal testen!

hilfefunktion? macht sinn :-) versuch ich dann auch mal.

merci soweit!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz