Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Eine Frage zu VBA per Excel 2010 zur Seitenauslese von PDF-dateien

Frage Microsoft Microsoft Office

Mitglied: Phade

Phade (Level 1) - Jetzt verbinden

26.11.2010, aktualisiert 18.10.2012, 8357 Aufrufe, 18 Kommentare

Moin Moin,

ich habe eine Frage bzw. ein Problem mit einem VBA-Script zum auslesen der Seitenanzahl von PDF-Dateien.
Die Dateien liegen alle in einem Verzeichnis. Ich habe folgendes Script welches mich aber bei der Ausführung nach einer Datei fragt, was aber umständlich ist, denn eig kann/soll es einfach durch das Verzeichnis der Dateien drüberlaufen und die Seitenanzahl ausgeben. Und wenn ich einen Dateiname eingebe, kommt der Fehler "53" - Datei nicht gefunden, aber die Datei ist definitif da und auch i.O.

Hier mal der AKTUELLE Quellcode:
01.
Sub PDFCounter() 
02.
 
03.
Dim buf As String, fil As String, i As Integer 
04.
Dim fso, pdf, pos As Integer, p2 As Integer 
05.
 
06.
a = FreeFile 
07.
 
08.
Filename = InputBox("Bitte Dateinamen (ohne Erweiterung) eingeben:", "Öffnen...") 
09.
 
10.
If Filename = "" Then Exit Sub 
11.
 
12.
FilePath = "D:\Rechnungen\" & Filename & ".pdf" 
13.
 
14.
Set fso = CreateObject("Scripting.FileSystemObject") 
15.
Set pdf = fso.OpenTextFile(FilePath) 
16.
 
17.
Do While Not pdf.AtEndOfStream 
18.
buf = pdf.ReadLine 
19.
pos = InStr(1, buf, "/Count") 
20.
 
21.
If pos > 0 Then 
22.
    buf = Mid(buf, pos + 7) 
23.
    p2 = InStr(1, buf, Chr(13)) 
24.
     
25.
    If p2 <> 0 Then 
26.
        buf = Left(buf, p2 - 1) 
27.
    End If 
28.
     
29.
    i = CLng(buf) 
30.
 
31.
    Exit Do 
32.
End If 
33.
 
34.
Loop 
35.
Range("a3") = i 
36.
 
37.
End Sub
Kann mir jemand einen Tipp geben, wo ich gerade falsch denke?

Thx vorab.
Mitglied: 76109
26.11.2010 um 11:05 Uhr
Hallo Phade!

InputBox(Anzeigetext, Titel, Default)
z.B.
InputBox("Bitte ...", "Öffnen...", "D:\Rechnungen\"

Versuchs mal so:
01.
FileName = InputBox("Bitte Dateinamen (ohne Erweiterung) eingeben:", "Öffnen...")  
02.
 
03.
If FileName = "" Then Exit Sub 
04.
 
05.
FilePath = "D:\Rechnungen\" & FileName & ".pdf"  
06.
 
07.
Set fso = CreateObject("Scripting.FileSystemObject") 
08.
Set pdf = fso.OpenTextFile(FilePath)
Gruß Dieter
Bitte warten ..
Mitglied: Phade
26.11.2010 um 11:18 Uhr
Hallo Didi1954,

das funktioniert supi, danke!

Gibt es vllt noch die Möglichkeit, dass ich hingehen kann und das ich nicht mehr den Dateinamen eingeben muss?
Es sind mehrere hunder Dateien die damit überprüft werden sollen...

Danke schon mal!!
Bitte warten ..
Mitglied: Biber
26.11.2010 um 11:26 Uhr
Moin Phade,

wäre es dann nicht sinnvoll, wenn du die Pfadangabe und die Namenskonvention deiner Einsaug-Tabellen mal offenlegst oder soll didi1954 sich Dummy-Restriktionen ausdenken?

P.S. Magst du deinen Beitrag mal mit Code-Formatierung nachbehandeln bitte?

Grüße
Biber
Bitte warten ..
Mitglied: Phade
26.11.2010 um 11:43 Uhr
Zitat von Biber:
Moin Phade,

wäre es dann nicht sinnvoll, wenn du die Pfadangabe und die Namenskonvention deiner Einsaug-Tabellen mal offenlegst oder soll
didi1954 sich Dummy-Restriktionen ausdenken?


Moin Biber,

Beitrag is editiert ;)

Ähm, hilf mir nochmal kurz, was braucht ihr noch?
Wenn du mit Einsaug-tabelle die Excel-Datei meinst, in der das vba "läuft", die liegt zur Zeit auf meinem Desktop und die Test PDFs liegen auf meiner D:-Partition.
Die PDFs sind Rechnung von meiner Firma, und ich möchte aus denen halt die Gesamtseitenzahl aller PDFs ermitteln.
Ähm, die Namenskonvention der PDF sieht so aus -- 999-38142-86555453-E.pdf
Hier ist zu beachten, das die ersten 8 Ziffern gleich bleiben und sich nur die letzten 8 und der Buchstabe sich ändert.
Habe jetzt noch erfahren, das nur die Dateien, die mir *-*-*-E.pdf enden relevant sind. Also wenn ich zum Beispiel jetzt vorgeben kann:" ...lese nur die Dateien *-E.pdf aus und schreibe zeilenzahl in Excelzelle..." dann wäre ich ja schon durch....aber ich stehe gerade vorm Berg-

Hoffe das war das gesuchte ;)

Thx
Bitte warten ..
Mitglied: bastla
26.11.2010 um 22:23 Uhr
Hallo Phade!

Sollte sich dann etwa so machen lassen:
01.
Option Explicit 
02.
Sub PDFCounter() 
03.
 
04.
Dim buf As String, fil As String, i As Integer 
05.
Dim FilePath As String, FileMask As String, FileExt As String 
06.
Dim Column As Integer, Row As Long 
07.
Dim fso, File, pdf, FileName As String, pos As Integer, p2 As Integer 
08.
 
09.
FilePath = "D:\Rechnungen\" 
10.
FileMask = "*-E" 'genau hinsichtlich Groß-/Kleinschreibung 
11.
FileExt = "pdf" 'in Kleinbuchstaben 
12.
 
13.
Column = 1 'Einträge in Spalte "A" ... 
14.
Row = 3 '... ab Zeile 3 
15.
 
16.
Set fso = CreateObject("Scripting.FileSystemObject") 
17.
 
18.
For Each File In fso.GetFolder(FilePath).Files 'alle Dateien des vorgegebenen Ordners durchgehen ... 
19.
    FileName = File.Name 
20.
    '.... und nur passende verarbeiten 
21.
    If fso.GetBaseName(FileName) Like FileMask And LCase(fso.GetExtensionName(FileName)) = FileExt Then 
22.
        Set pdf = fso.OpenTextFile(File.Path) 
23.
 
24.
        Do While Not pdf.AtEndOfStream 
25.
            buf = pdf.ReadLine 
26.
            pos = InStr(1, buf, "/Count") 
27.
 
28.
            If pos > 0 Then 
29.
                buf = Mid(buf, pos + 7) 
30.
                p2 = InStr(1, buf, Chr(13)) 
31.
     
32.
                If p2 <> 0 Then buf = Left(buf, p2 - 1) 
33.
     
34.
                i = CLng(buf) 
35.
 
36.
                Exit Do 
37.
            End If 
38.
        Loop 
39.
             
40.
        Cells(Row, Column) = i 'Seitenzahl eintragen 
41.
        Cells(Row, Column + 1) = FileName 'Dateinamen eintragen 
42.
        Row = Row + 1 'Zeilennummer erhöhen 
43.
    End If 
44.
Next 
45.
End Sub
Noch eine Anmerkung zur Variablendeklaration mit "Dim": So richtig sinnvoll wird diese erst in Kombination mit "Option Explicit", da dann keine nicht deklarierten (weil zB falsch geschriebenen) Variablen akzeptiert werden - daher entweder alle Variablen deklarieren oder (fast) keine ...

... und: die ermittelte Seitenanzahl hätte sich vielleicht auch einen etwas "sprechenderen" Namen (als "i") verdient.

Zur Kontrolle würde es vermutlich (zumindest während der Testphase) auch nicht schaden, zusätzlich den Dateinamen in die Tabelle einzutragen - dann würde ich in Zeile 13 die Spalte durch Angabe der Nummer (1) anstelle des Buchstabens festlegen und als Zeile 40a
Cells(Row, Column + 1) = File.Name 'Dateinamen eintragen
verwenden (die Deklaration von "Column" als "String" ist dann auch nicht mehr korrekt).
Eine Vereinfachung hinsichtlich der Prüfung des Dateinamens ergäbe sich noch, wenn entweder sichergestellt ist, dass sowohl Dateimaske als auch Dateityp hinsichtlich Groß-/Kleinschreibung exakt sind (also zB "pdf" immer in Kleinbuchstaben vorliegt) oder mit "Option Compare Text" vorweg die Berücksichtigung von Groß-/Kleinschreibung ausgeschaltet wird - dann könnten
01.
FileMask = "*-E" 'genau hinsichtlich Groß-/Kleinschreibung 
02.
FileExt = "pdf" 'in Kleinbuchstaben
zu
01.
FileMask = "*-E.pdf" 'genau hinsichtlich Groß-/Kleinschreibung
zusammengefasst und die Zeile 21 auf
01.
If FileName Like FileMask Then
verkürzt werden.

Grüße
bastla
Bitte warten ..
Mitglied: 76109
27.11.2010 um 14:02 Uhr
Hallo Phade!

Wobei in bastlas Code, die Codezeilen 24 - 38 noch durch folgende Codezeilen ersetzt werden könnten:
01.
        'Dim Text as Variant, i As Long 
02.
          
03.
         Do Until Pdf.AtEndOfStream 
04.
             Text = Split(WorksheetFunction.Clean(Pdf.ReadLine), "/Count ") 
05.
             If UBound(Text) = 1 Then  i = CLng(Split(Text(1))(0)):  Exit Do  
06.
          Loop
Gruß Dieter

[edit] auf bastlas Anregung geändert und funktioniert mit anderen Test-Pdf's doch nicht. Siehe weiter unten [/edit]
Bitte warten ..
Mitglied: bastla
27.11.2010 um 14:06 Uhr
@Dieter
Wobei in bastlas Code, die Codezeilen 24 - 38 ...
Ehre, wem Ehre gebührt : die Zeilen hatte Phade schon selbst mitgebracht ...

An eine Vereinfachung hatte ich auch schon gedacht, war allerdings noch nicht dazu gekommen; außerdem dürfte das ohne genaue Kenntnis der von Phade verwendeten PDF auch nicht ganz so einfach sein, da ich bei einem ersten Test mit dem neuen Code bereits eine nicht auswertbare Datei (Fehler: "Type mismatch" - was bei einem Wert von "2 >> endobjxref0 126 0000000000 65535 f" für Text(1), resultierend aus der Tatsache, dass die Zeile mit "CR" abgeschlossen war, auch nicht weiter verwundert) vorfand.

Mit
If UBound(Text) = 1 Then  i = CLng(Split(Text(1))(0)):  Exit Do
sollte es aber etwas sicherer sein ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
27.11.2010 um 15:11 Uhr
Hallo bastla!

Bei meinen Test's ist dieser Fehler leider nicht aufgetreten. Von daher danke für die Unterstützung

Meine Test-Pdf's enthielten auch nur LF's und keine CR's, was wohl auch sehr unterschiedlich ist und die PDF's als Text-Dateien zu bearbeiten ist auch schon eine Sache für sich

Die betreffenden Codezeilen in Deinem Code gegebenenfalls zu ändern, bezogs sich auch nur insofern auf Deinen Code, weil dieser im Prinzip ja schon ein Endprodukt darstellt. Und das Du den Code nur 1:1 übernommen hast, ist mir durchaus bewusst

Gruß Dieter
Bitte warten ..
Mitglied: 76109
27.11.2010 um 19:52 Uhr
Hallo bastla!

Habe noch ne andere Variante gefunden, d.h. mein obiger Codeschnippsel funktioniert doch nicht
Text(1) = "1/Type/Pages/Kids[13 0 R]>>"

Also doch auf Ziffern prüfen
01.
            Do Until Pdf.AtEndOfStream 
02.
                Text = Split(WorksheetFunction.Clean(Pdf.ReadLine), "/Count ") 
03.
                If UBound(Text) = 1 Then 
04.
                    i = 1 
05.
                    Do While IsNumeric(Mid(Text(1), i, 1)): i = i + 1:  Loop 
06.
                    i = CLng(Left(Text(1), i - 1)):  Exit Do 
07.
                End If 
08.
            Loop
Gruß Dieter
Bitte warten ..
Mitglied: bastla
27.11.2010 um 20:46 Uhr
Hallo Dieter!

... oder gleich Nägel mit Köpfen machen :
01.
Option Explicit 
02.
Option Compare Text 
03.
 
04.
Sub PDFCounter() 
05.
 
06.
Dim FilePath As String, FileMask As String, FileExt As String 
07.
Dim Column As Integer, Row As Long 
08.
Dim fso, rE, File, pdf, FileName As String 
09.
Dim Match, Pages As Long 
10.
 
11.
FilePath = "D:\Rechnungen\" 
12.
FileMask = "*-E" 'genau hinsichtlich Groß-/Kleinschreibung 
13.
FileExt = "pdf" 'in Kleinbuchstaben 
14.
 
15.
Column = 1 'Einträge in Spalte "A" ... 
16.
Row = 3 '... ab Zeile 3 
17.
 
18.
Set fso = CreateObject("Scripting.FileSystemObject") 
19.
 
20.
Set rE = CreateObject("VBScript.Regexp") 
21.
rE.Pattern = "/Count (\d*)" 'Sucbegriff = "/Count <Ziffer(n)>" 
22.
 
23.
For Each File In fso.GetFolder(FilePath).Files 'alle Dateien des vorgegebenen Ordners durchgehen ... 
24.
    FileName = File.Name 
25.
    '.... und nur passende verarbeiten 
26.
    If fso.GetBaseName(FileName) Like FileMask And LCase(fso.GetExtensionName(FileName)) = FileExt Then 
27.
        Set pdf = fso.OpenTextFile(File.Path) 'Datei öffnen ... 
28.
        Do Until pdf.AtEndOfStream '... und notfalls bis zum Dateiende durchgehen 
29.
            For Each Match In rE.Execute(Pdf.ReadLine) 'Zeile einlesen, durchsuchen und, wenn gefunden .... 
30.
                Pages = CLng(Match.SubMatches(0)) '... Seitenzahl (<Ziffer(n)>) auslesen 
31.
                Cells(Row, Column) = Pages 'Seitenzahl eintragen 
32.
                Cells(Row, Column + 1) = FileName 'Dateinamen eintragen 
33.
                Row = Row + 1 'Zeilennummer für Tabelle erhöhen 
34.
                Exit Do 'Datei muss nicht weiter ausgelesen werden 
35.
            Next 
36.
        Loop 
37.
        pdf.Close 'der Ordnung halber: Datei schließen 
38.
    End If 
39.
Next 
40.
End Sub
[Edit] Dieters Vorschläge (siehe unten) integriert [/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: 76109
27.11.2010 um 23:40 Uhr
Hallo bastla!

Toll! Das ist natürlich die wesentlich bessere Variante, die auch bei meinen unterschiedlichen Pdf's einwandfrei funktioniert Und als Zugabe auch noch kommentiert

Gruß Dieter

PS.
Die Codezeile 26 könnte man aber noch entfernen und die Codezeile 27 gleich so schreiben:
01.
For Each Match In rE.Execute(Pdf.ReadLine) 'Zeile durchsuchen und wenn gefunden ...
und nach dem Loop eventuell noch ein
01.
Pdf.Close
einfügen
Bitte warten ..
Mitglied: bastla
28.11.2010 um 12:09 Uhr
Hallo Dieter!

ACK, wobei das "Close" (da ja aus der Datei nur gelesen wird) eigentlich nicht nötig (aber auf jedenfalls sauberer) sein sollte, und das Einsparen der Variablen "Text" auch keine spürbaren Verbesserungen bringen dürfte - ich bau's aber trotzdem mal so ein ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
28.11.2010 um 13:43 Uhr
Hallo bastla!

War ja nur ein Vorschlag

Aber eine kleine Sache wäre da noch und zwar:
Funktioniert die Gleichbehandlung der Klein/Großschreibung mit dem Like-Operator ("*-E.PDF" gleich "*-e.pdf") nur, wenn die Option "Option Compare Text" gesetzt wird.

Gruß Dieter

[OT]
Ich versuche mich gerade an der ClipBoard-Geschichte aus nem anderen Thread.

Dieser Code funktioniert z.B. in Excel aber in VBS ClipBoard.SetData nicht.
01.
    Set Html = CreateObject("HtmlFile") 
02.
    Set ClipBoard = Html.ParentWindow.ClipboardData 
03.
 
04.
    ClipBoard.SetData "Text", "Text für die Zwischenablage"
Und dieser Code funktioniert zwar in VBS, aber es kommt beim Zugriff mit ClipBoard.SetData immer erst eine Sicherheitsabfrage
01.
    Set Html = CreateObject("InternetExplorer.Application")  
02.
    Html.Navigate "about:blank" 
03.
    
04.
    Set ClipBoard = Html.Document.ParentWindow.ClipboardData 
05.
 
06.
    ClipBoard.SetData "Text", "Text für die Zwischenablage"
Hast Du ne Idee, wie ich die Sicherheitsabfrage unterbinden kann?
[/OT]
Bitte warten ..
Mitglied: bastla
28.11.2010, aktualisiert 18.10.2012
Hallo Dieter!
Funktioniert die Gleichbehandlung der Klein/Großschreibung mit dem Like-Operator ("*-E.PDF" gleich "*-e.pdf") nur, wenn die Option "Option Compare Text" gesetzt wird.
Habe ich zumindest (in der Online-Hilfe) so gelesen und ist auch das Ergebnis meiner Tests ...
[OT]
Zum "Clipboard"-Thema: Die Sicherheitsabfrage lässt sich vermutlich eliminieren, indem die Sicherheitseinstellungen des IE weit genug nach unten geschraubt werden - aber sollten die das wirklich?

Der Workaround unter Verwendung der "clip.exe" (geeignet, solange nur in die Zwischenablage kopiert werden soll) ist da für mich das kleinere Übel ...
[/OT]

Grüße
bastla
Bitte warten ..
Mitglied: 76109
28.11.2010 um 15:28 Uhr
Hallo bastla!

Also bei mir ergibt z.B. dieser Vergleich ohne "Option Compare Text" False
01.
    If "*-e.pdf" Like "*-E.pdf" Then x = 1
und mit "Option Compare Text" True
01.
    If "*-e.pdf" Like "*-E.pdf" Then x = 1
Was auch in der VBA-Hilfe zum Like-Operator bestätigt wird.

Zitat:
Das Verhalten des Operators Like hängt von der Option Compare-Anweisung ab (Standard ist Compare Binary)

Option Compare Text führt zu Zeichenfolgenvergleichen, die die im Gebietsschema des Systems gewählte Sortierreihenfolge für Zeichen verwenden (wobei keine Unterschiede in der Groß- und Kleinschreibung berücksichtigt werden).

Gruß Dieter

[OT]
Klar ist die Variante per Clip wesentlich einfacher, aber aus reinem Ergeiz hätte ich auch gerne die andere Variante zum Laufen gebracht.
Was mich bei der Clip-Variante etwas verwundert, ist die Tatsache, dass diese funktioniert, obwohl auf meinem System keine Clip.Exe zu finden ist.
[/OT]
Bitte warten ..
Mitglied: bastla
28.11.2010 um 15:50 Uhr
Hallo Dieter!

Da hatte ich nicht genau genug gelesen bzw missverstanden, was Du gemeint hattest - natürlich wird nur dann nicht zwischen Groß- und Kleinschreibung unterschieden, wenn (um mich selbst zu zitieren - siehe Kommentar 26.11.2010, 22:23:48 Uhr)
... mit "Option Compare Text" vorweg die Berücksichtigung von Groß-/Kleinschreibung ausgeschaltet wird ...
- insofern sollte ich das tatsächlich noch in der vorläufig endgültigen Version ergänzen (und mache es auch gleich) ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
28.11.2010 um 16:03 Uhr
Hallo bastla!

Zitat von bastla:
Da hatte ich nicht genau genug gelesen bzw missverstanden, was Du gemeint hattest ....
- insofern sollte ich das tatsächlich noch in der vorläufig endgültigen Version ergänzen (und mache es auch gleich) ...
Da bin ich aber Froh, dass wir dieses Missverständnis nun doch noch klären konnten

Gruß Dieter
Bitte warten ..
Mitglied: Phade
29.11.2010 um 10:43 Uhr
Moin,

ich falle auf die Knie und verneige mich ;)

Ich danke euch für eure hilfe, genau das hab ich gesucht!!!

hat alles geklappt. Und danke für die erklärenden Kommentare ;) sieht man ziemlich slten ;)

nochmal Danke.

Phade
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
gelöst Verschieben von Zellinformation in andere Spalte (per VBA) excel 2010 (5)

Frage von thomas1972 zum Thema Microsoft Office ...

VB for Applications
Mit Excel 2010 (VBA) eine Mail erzeugen und als Anlage einen Termin erstellen

Frage von Armin-K zum Thema VB for Applications ...

Microsoft Office
gelöst Excel 2010 Zellen mit bestimmten Inhalt mit Makro formartierten (5)

Frage von packmann2016 zum Thema Microsoft Office ...

Outlook & Mail
Outlook 2010 schließt .msg Dateien nicht Ordnungsgemäß (5)

Frage von Futschel zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...