Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1424to1428
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

suche erstzte in einem txt file

suche erstzte in einem txt file
02.05.2015 21:42:26
Merlin
Guten Abend,
in einem txt Datei soll nach dem Wort "'Hier Testen'"
gesucht werden. Dieses soll markiert und durch einem kopierten Bereich aus excel ersetzt werden.
Könnt Ihr mir dabei helfen?
Viele Grüße

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: suche erstzte in einem txt file
02.05.2015 22:29:31
Nepumuk
Hallo,
teste mal:
Option Explicit

Private Declare PtrSafe Function IsClipboardFormatAvailable Lib "user32.dll" ( _
    ByVal wFormat As Long) As Long

Private Const CF_TEXT As Long = 1

Public Sub Beispiel()
    Const SEARCH_TEXT As String = "'Hier Testen'"
    Dim intFilenumber As Integer
    Dim strTempText As String
    Dim objClipBoard As Object, objFile As Object
    Dim objFileSystemObject As Object, objTextStream As Object
    If IsClipboardFormatAvailable(CF_TEXT) <> 0 Then
        Set objFileSystemObject = CreateObject("Scripting.FileSystemObject")
        Set objFile = objFileSystemObject.GetFile("E:\Testdatei.txt") 'Pfad anpassen *******
        Set objTextStream = objFile.OpenAsTextStream(1, -2)
        strTempText = objTextStream.ReadAll
        objTextStream.Close
        If InStr(1, strTempText, SEARCH_TEXT) <> 0 Then
            Set objClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
            Call objClipBoard.GetFromClipboard
            strTempText = Replace(strTempText, SEARCH_TEXT, objClipBoard.GetText)
            Set objClipBoard = Nothing
            Set objTextStream = objFile.OpenAsTextStream(2, -2)
            Call objTextStream.Write(strTempText)
            objTextStream.Close
        Else
            Call MsgBox("Suchbegriff nicht gefunden.", vbExclamation, "Hinweis")
        End If
    Else
        Call MsgBox("Kein Text im ClipBoard.", vbExclamation, "Hinweis")
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: suche erstzte in einem txt file
02.05.2015 22:52:31
Merlin
Hallo Nepumuk,
danke für deine Hilfe, es klappt nicht.
Ich habe folgendes versucht:
Ich öffne die txt file mit Notepad++ um zu sehen in welche Zeilennummer das gesuchte Wort steht.
leider komme ich nicht weiter :-(((
Wäre super von dir wenn du mir zum lösung helfen köntest
Sub suche()
Dim  sText, Anzahl As String
Anzahl = Range("A65535").End(xlUp).Row
Range(Cells(1, 1), Cells(Anzahl, 1)).Select
Selection.Copy
Const Anwendung = "C:\Program Files (x86)\Notepad++\notepad++.exe"
Const datei = "C:\Users\Desktop\Projekte\test\test.txt"
Const sText As String = "'Hier Testen'"
With CreateObject("Wscript.Shell")
.Run """" & Anwendung & """ """ & datei & """", vbNormalFocus
End With
End Sub

Anzeige
AW: suche erstzte in einem txt file
02.05.2015 22:57:17
Nepumuk
Hallo,
das Notepad kannst du nicht per VBA steuern.
Was heißt es klappt nicht? In meinem Test hat das einwandfrei funktioniert.
Gruß
Nepumuk

AW: suche erstzte in einem txt file
02.05.2015 23:05:40
Merlin
Hallo Nepumuk,
der suchtext'Hier Testen'
Soll durch den Bereich den ich in Excel kopieren ca. 50 Zeilen Unterainander eingefügt werden.
Ich hatte mir gedacht wenn ich den Textfile mit Notepad++ öffne und dann per vba den gesuchten Text zu ersetzten. denn im text ist ein SQL script.

AW: suche erstzte in einem txt file
02.05.2015 23:12:49
Nepumuk
Hallo,
nochmal, dieses Programm kannst du nicht per VBA steuern !!!!!!!!!!!!!!!!!!!!!!!!!!
Ich hab das Programm nochmal geändert:
Option Explicit

Public Sub Beispiel()
    Const SEARCH_TEXT As String = "'Hier Testen'"
    Dim intFilenumber As Integer
    Dim strText As String, strTemp As String
    Dim objClipBoard As Object, objFile As Object
    Dim objFileSystemObject As Object, objTextStream As Object
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        With .Filters
            If .Count <> 0 Then Call .Delete
            Call .Add("Textdateien", "*.txt")
        End With
        If .Show Then
            Set objFileSystemObject = CreateObject("Scripting.FileSystemObject")
            Set objFile = objFileSystemObject.GetFile(.SelectedItems(1))
            Set objTextStream = objFile.OpenAsTextStream(1, -2)
            strText = objTextStream.ReadAll
            objTextStream.Close
            If InStr(1, strText, SEARCH_TEXT) <> 0 Then
                Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).Copy
                Set objClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
                Call objClipBoard.GetFromClipboard
                strTemp = objClipBoard.GetText
                strTemp = Left$(strTemp, Len(strTemp) - 2)
                strText = Replace(strText, SEARCH_TEXT, strTemp)
                Set objTextStream = objFile.OpenAsTextStream(2, -2)
                Call objTextStream.Write(strText)
                objTextStream.Close
                Set objClipBoard = Nothing
                Application.CutCopyMode = False
            Else
                Call MsgBox("Suchbegriff nicht gefunden.", vbExclamation, "Hinweis")
            End If
            Set objTextStream = Nothing
            Set objFile = Nothing
            Set objFileSystemObject = Nothing
        End If
    End With
End Sub

Vor dem Test sieht meine Textdatei so aus:
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxy
'Hier Testen'
xxxxxxxxxxxxxxxxy
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
Nach dem Testen so:
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxy
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
xxxxxxxxxxxxxxxxy
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
Gruß
Nepumuk

Anzeige
AW: suche erstzte in einem txt file
02.05.2015 23:22:56
Merlin
Hallo Nepumuk,
Super, klappt Vielen lieben dank.
Viele Grüße

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige