thhaeger
Goto Top

Inhalt von verschiedenen html- Dateien in ausgesuchten Excelzellen automatisch importieren

Hallo zusammen,

ich habe folgendes Problem.

Es gibt eine Exceltabelle, die ca. 1000 Zeilen und 50 spalten ausweist. Jede Zeile ist ein anderer Artikel.

In Spalte AF soll die Beschreibung des Artikels stehen.

Die Beschreibung ist im html Code geschrieben und befindet sich in einemseperaten Verzeichnis:

Bsp Excel:

Spalte AF/Zeile2:

Ordnername/htm1

Spalte AF/Zeile3:

Ordnername/html2

Spalte AF/Zeile4:

Ordnername/html3

usw.

So ist in jeder zeile der Verweis auf die entsprechende Datei gegeben

Die html dateien sehen dann etwa so aus:

C:\Verzeichnisname\html1
C:\Verzeichnisname\html2
C:\Verzeichnisname\html3
usw.

Nun möchte ich natürlich, das in der Exceltabelle nicht C:\Verzeichnisname\html1 steht sondern der zugehörige html-Code (also den Inhalt der datei) importiert wird.

Und das am besten automatisch (z.b vba, Batch etc), da es ja ca. 1000 Änderungen sind

Hat da jemand eine Idee?

Danke

Thomas

Content-ID: 148564

Url: https://administrator.de/contentid/148564

Ausgedruckt am: 23.11.2024 um 01:11 Uhr

76109
76109 08.08.2010 um 09:36:41 Uhr
Goto Top
Hallo thhaeger!

Wär's dann nicht sinnvoller, beim selectieren eines Eintrages in Spalte AF einen Editor mit dem Quelltext der jeweiligen Datei zu öffnen?

Gruß Dieter
thhaeger
thhaeger 08.08.2010 um 10:35:27 Uhr
Goto Top
Hallo Dieter,

wenn ich Dich richtig verstehe, dann müsste ich ja das ganze händisch bis zu 1000 x machen. Oder versteh ich dich falsch?

Gruß
Thomas
76109
76109 08.08.2010 um 11:09:26 Uhr
Goto Top
Hallo Thomas!

Ich hatte eigentlich eher an eine automatisierte Funktion via Makro (VBA-Code) gedachtface-wink

Sind die die Pfadangaben aktuell als Hyperlinks aktiv?

Gruß Dieter
thhaeger
thhaeger 08.08.2010 um 11:19:32 Uhr
Goto Top
nee, sind kein hyperlinks

Gruß
Thomas
76109
76109 08.08.2010 um 15:45:40 Uhr
Goto Top
Hallo Thomas!

Also, bei Verwendung des nachfolgenden VBA-Codes, wird automatisch beim auswählen einer gültigen Zelle (ab Zeile, Spalte...) automatisch - sofern die Datei auch existiert - der NotePad-Editor mit dem Quelltext der Datei geöffnet.

Diesen Code im VB-Editor in das entsprechende Tabellenblatt einfügen:
Option Explicit

Const StartZeile = 3    'Pfadangaben ab Zeile ?  
Const LinkSpalte = 32   'Pfadangaben in Spalte AF  

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Fso As Object, Path As String
    
   'Prüfen ob eine Zelle aus der LinkSpalte ausgewählt ist? Wenn nein abbrechen  
    With Target
        If .Count > 1 Or .Row < StartZeile Or .Column <> LinkSpalte Then Exit Sub
    End With
    
   'Object mit Datei-Funktionen einbinden  
    Set Fso = CreateObject("Scripting.FileSystemObject")  
    
    Path = Target.Text & ".html" 'Html-Pfad erzeugen, die Dateierweiterung bei Bedarf anpassen  
    
   'Test ob die Datei mit Pfadangabe existiert? Wenn ja Editor mit Quelltext öffnen  
    If Fso.FileExists(Path) Then
        Shell "NotePad" & " """ & Path & """", vbNormalFocus  
    End If
End Sub
Wobei ich angenommen habe, das bei den Pfadangaben in den Zellen, die Dateierweiterung .html fehlt. Falls die Pfadangaben in den Zellen doch vollständig sind , dann die Codezeile 17, wie folgt abändern:
Path = Target.Text

Gruß Dieter
thhaeger
thhaeger 09.08.2010 um 08:05:30 Uhr
Goto Top
Hallo Dieter,

vielen dank für den Code. Werde ihn mal testen

Gruß
Thomas
thhaeger
thhaeger 11.08.2010 um 10:47:55 Uhr
Goto Top
Hallo Dietr,

ich bin irgendwie zu blöd oder ich habe ein brett vorm Kopf.

ich bekomme dein Script nicht ans laufen. Er erstellt kein makro, was man ausführen könnte.

Gruß
Thomas
76109
76109 11.08.2010 um 10:55:00 Uhr
Goto Top
Hallo Thomas!

Zitat von @thhaeger:
ich bin irgendwie zu blöd oder ich habe ein brett vorm Kopf.
ich bekomme dein Script nicht ans laufen. Er erstellt kein makro, was man ausführen könnte.
Du musst den Code im VB-Editor in das Tabellenblatt mit dem Namen des Tabellenblattes kopieren z.B. Tabelle1 wäre Code (Quelltext) in Tabelle? (Tabelle1) kopieren. Das Makro satrtet sich dabei von selbst, sobald eine Zelle im entsprechenden Bereich ausgewählt (selektiert) wird.

Gruß Dieter

PS.Wenn das NotePad-Fenster in seiner maximalen Größe geöffnet werden soll, dann ersetze "vbNormalFocus" durch "vbMaximizedFocus"