Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


VBA Visio hyperlänkar

Postades av 2010-04-26 13:26:13 - Robin Lövgren, i forum microsoft office, Tråden har 3 Kommentarer och lästs av 1462 personer

Håller på att skriva ett vba macro som editerar hyperlänkar i visio och word dokument. I word så kan man ju enkelt nå hyperlänkarna genom att deklarera en hyperlink variabel och använda sig av "activedocument.hyperlinks". Men i visio så saknas ju denna hyperlink egenskap i activedocument. Så min fråga är, hur kommer man runt detta/finns det något motsvarande?

/Robin


Svara

Sv: VBA Visio hyperlänkar

Postades av 2010-04-26 18:38:05 - Robert Israelsson

Här är en enkel variant som listar alla länkar i direktfönstret

Sub getLinks()
Dim myShapes As Shapes
Set myShapes = ActivePage.Shapes
Dim myShape As Shape
Dim myLink As Hyperlink
For Each myShape In myShapes
    For Each myLink In myShape.Hyperlinks
        Debug.Print myLink.Address
    Next
Next
End Sub


Svara

Sv:VBA Visio hyperlänkar

Postades av 2010-04-27 09:56:11 - Robin Lövgren

Tackar för svaret. Löste problemet för ett dokument på ett litet annat sätt än du föreslog:

Dim oHyper As Hyperlink
Dim myShape As Visio.Shape
Dim myDoc As Visio.Document

Dim myShapes As Shapes
ActiveDocument.Saved = False

Set myShapes = ActiveDocument.Pages.ItemFromID(0).PageSheet.Shapes
For Each myShape In myShapes
For Each oHyper In myShape.Hyperlinks
With oHyper
.Address = Replace(.Address, sGammal, sNy)
.Description = Replace(.Description, sGammal, sNy)
End With

Next
Next

ActiveDocument.Save

Funkar utmärkt. Men jag ville ju ha en loop som gick igenom många dokument. Jag testade att göra en sådan, men den kör bara igenom första filen, och hoppar sedan ur med felmeddelandet: "error on ". Så det verkar inte som att den kommer åt nästa fil. Här är den väsentliga delen av den koden:

myFile = Dir(PathToUse & "\D2aa11.vsd")
Do While Len(myFile) > 0
Set myDoc = Documents.Open(PathToUse & "\" & myFile)
...
... (massa kod)
...
myFile = Dir ' get next file to open
msgbox(myfile)
Loop

msgboxen visar bara en tom ruta, alltså ingen fil. Vad beror detta på? Ska man använda något annat kommando än Dir i Visio, eller är problemet något annat?


Svara

Sv: VBA Visio hyperlänkar

Postades av 2010-04-29 09:03:24 - Robert Israelsson

Skulle kunna göra något sånt här..

Sub links()
Dim filenames() As String
Dim path As String
Dim myDoc As Document
Dim myPage As Page
Dim myShape As Shape
Dim myLink As Hyperlink

Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "Visio dokument|*.vsd|Alla filer|*.*"
objDialog.Flags = &H200
objDialog.FilterIndex = 1
intFileCount = objDialog.ShowOpen
filenames = Split(objDialog.FileName, " ")
path = filenames(0)
For i = 1 To UBound(filenames) ' Gå igenom alla markerade dokument
    Set myDoc = Documents.Open(path & filenames(i)) ' öppna dokument
    For Each myPage In myDoc.Pages ' gå igenom alla sidor i dokumentet
        For Each myShape In myPage.Shapes ' gå igenom alla former på aktuell sida
            For Each myLink In myShape.Hyperlinks ' gå igenom alla länkar på resp. form
                ' behandla länkinformationen
                Debug.Print myLink.Address
            Next
        Next
    Next
    myDoc.Close ' stäng dokument
Next
End Sub


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 764
27 959
271 761
377
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies