vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
VBA Modul in VB übernehmen 
Autor: tom-gob
Datum: 02.03.04 17:17

Hallo ich habe folgendes Problem, ich möchte ein VBA Modul ins VB übernehmen. Ich muss aus dem VB Programm aus Parameter übergeben, deshalb ist die Übergabe wichtig.
Das Programm durchsucht anhand von Kriterien alle Ordner eines Verzeichnisses nach Word Dokumente und ändert darauf alle Hyperlinks (auch die URL) nach dem vordefinierten Kriterien um. Hier das Problem: Ich kann das Modul das zur Änderung der Word-Hyperlinks in VBA geschrieben wurde nicht ins VB übernehmen, ich glaube es liegt an dem Objekt "HL" das irgendwie generiert wurde.
Könnt ihr mir helfen? In VBA funktioniert der Code:

Public VarPath As String
Public VarSearch As String
Public VarReplace As String
 
Sub HyperlinksAuslesen()
  Dim oStory As Range, nDoc As Document
  Dim oTable As Table, oCell As Cell, oRange As Range
  Dim strText As String
  strText = ""
  For Each oStory In ActiveDocument.StoryRanges
    HyperlinksAuslesenNextStory oStory, strText
    While Not (oStory.NextStoryRange Is Nothing)
      Set oStory = oStory.NextStoryRange
      HyperlinksAuslesenNextStory oStory, strText
    Wend
  Next
  If strText = "" Then
    MsgBox "Das Dokument beinhaltet keine Hyperlinks.", vbInformation
    Exit Sub
  End If
 
End Sub
 
Private Sub HyperlinksAuslesenNextStory(oStory As Range, strText As String)
  Dim HL As Hyperlink, otoc As TableOfContents
  Dim VarHlText, VarHlAddress As String
  Dim VarSearch As String
  Dim VarReplace As String
  Dim Flag As Boolean
 
  For Each HL In oStory.Hyperlinks
    Flag = False
    If oStory.StoryType = wdMainTextStory Then
      'Testen ob dies ein interner Hyperlink aus dem Inhaltsverzeichnis ist
      For Each otoc In ActiveDocument.TablesOfContents
        If HL.Range.InRange(otoc.Range) Then
          Flag = True
          Exit For
        End If
      Next
    End If
    If Flag = False Then
      If Val(Left(Application.Version, 1)) = 8 Then 'HL-Eigenschaften für WD97
        strText = strText & HL.Range.Text & vbTab & HL.Address & vbTab & _
           HL.SubAddress & vbCrLf
      Else 'Hyperlink-Eigenschaften ab WD2000
        strText = strText & HL.Range.Text & vbTab & HL.Address & vbTab & _
           HL.SubAddress & vbTab & HL.ScreenTip & vbCrLf
        'Testausgabe_______________________________________
 
        VarHlText = HL.Range.Text
        VarHlAddress = HL.Address
 
       End If
    End If
 
    Dim anz As Long
    anz = anz + 1
    If Documents("Test.doc").Hyperlinks.Count >= anz Then
 
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = VarSearch
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute
    Selection.Range.Hyperlinks(1).Range.Fields(1).Result.Select
    Selection.Range.Hyperlinks(1).Delete
 
    Dim VarSearchAnz As Long
    Dim VarHlAddressAnz As Long
 
    VarHlAddressAnz = Len(VarHlAddress)
    VarSearchAnz = Len(VarSearch)
    VarHlAddress = Mid(VarHlAddress, VarSearchAnz, VarHlAddressAnz)
 
    ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
        VarReplace & VarHlAddress, SubAddress:="", ScreenTip:="", _
        TextToDisplay:= _
        VarReplace & VarHlAddress
    Selection.Collapse Direction:=wdCollapseEnd
    End If
 
  Next
 
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
VBA Modul in VB übernehmen815tom-gob02.03.04 17:17
Re: VBA Modul in VB übernehmen435tom-gob02.03.04 17:22
Re: VBA Modul in VB übernehmen459ModeratorMoni02.03.04 20:07
Re: VBA Modul in VB übernehmen456tom-gob03.03.04 08:45

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel