suche erstzte in einem txt file

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: suche erstzte in einem txt file
von: Merlin
Geschrieben am: 02.05.2015 21:42:26

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

Bild

Betrifft: AW: suche erstzte in einem txt file
von: Nepumuk
Geschrieben am: 02.05.2015 22:29:31
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

Bild

Betrifft: AW: suche erstzte in einem txt file
von: Merlin
Geschrieben am: 02.05.2015 22:52:31
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


Bild

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

Bild

Betrifft: AW: suche erstzte in einem txt file
von: Merlin
Geschrieben am: 02.05.2015 23:05:40
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.

Bild

Betrifft: AW: suche erstzte in einem txt file
von: Nepumuk
Geschrieben am: 02.05.2015 23:12:49
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

Bild

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

 Bild

Beiträge aus den Excel-Beispielen zum Thema "charts zwei dimensionales array problem"