Поиск стиля заголовка в VB6 для уникальной строки - PullRequest
1 голос
/ 05 марта 2012

Я студент третьего курса по разработке программного обеспечения.В настоящее время я нахожусь в середине моего рабочего места.Меня попросили создать инструмент для анализа текстовых документов на наличие соответствующих табличных данных и их экспорта в MS Excel.У меня никогда не было никаких дел с VB, но на основании проведенного мною исследования я решил, что это был путь.В любом случае мне удалось выполнить это успешно.Теперь, однако, меня попросили расширить программу, чтобы также разобрать абзацы.Документы разбиты на главы.Заголовок каждой главы выполнен в стиле «h2», моя идея состоит в том, чтобы попытаться найти весь текст в стиле «h2» на предмет уникальной строки и, если найден требуемый заголовок, обработать текст под ним.

Можно ли это сделать ??Если да, не могли бы вы, пожалуйста, дайте мне знать, как это было крутой кривой обучения, и я был в восторге от того, чего я достиг, теперь я застрял мертвым.У меня есть методология, она находит правильный способ ее реализации.Это также позволит мне создать поисковую форму, которую я собираюсь интегрировать, чтобы позволить пользователям искать главу, которую они хотят проанализировать ...

Если кто-нибудь может помочь мне выбраться из этой дыры, я был бы очень признателенэто.

1 Ответ

1 голос
/ 06 марта 2012

Возьмите свой пик

КОД СЛОВА VBA (Поместите это в модуль)

Option Explicit

Sub VBASample()
    Dim para As Paragraph
    Dim strParaText As String
    Dim searchString As String

    searchString = "Sample"

    For Each para In ActiveDocument.Paragraphs
        If para.Style = "Heading 2" Then
            strParaText = para.Range.Text
            If InStr(1, strParaText, searchString, vbTextCompare) Then
               '~~> You code here if the text is found 
               MsgBox "Found"
            End If
        End If
    Next para
End Sub

КОД VB6

Option Explicit

'~~> Using Late Binding so no reference to Word object is required.
Sub VB6Sample()
    Dim oWordApp As Object, oWordDoc As Object, oWordPara As Object
    Dim FlName As String, strParaText As String, searchString As String

    '~> File Name where you want to check the paragraphs
    FlName = "C:\Documents and Settings\Siddharth Rout\Desktop\Sample.doc"

    '~~> Establish an Word application object
    On Error Resume Next
    Set oWordApp = GetObject(, "Word.Application")

    If Err.Number <> 0 Then
        Set oWordApp = CreateObject("Word.Application")
    End If
    Err.Clear
    On Error GoTo 0

    oWordApp.Visible = True

    Set oWordDoc = oWordApp.Documents.Open(FlName)

    '~~> String that you want to search
    searchString = "Sample"

    For Each oWordPara In oWordDoc.Paragraphs
        If oWordPara.Style = "Heading 2" Then
            strParaText = oWordPara.Range.Text
            If InStr(1, strParaText, searchString, vbTextCompare) Then
                '~~> You code here if the text is found
                MsgBox "Found"
            End If
        End If
    Next oWordPara
End Sub
...