Frage
Wie kann man über COM eine ÖV-Kurzwegsuche durchführen?
Antwort
Dazu benötigt man ein RouteSearchPuT-Objekt, dem ein NetElements-Container mit Netzelementen übergeben wird. Ein Beispiel kann so aussehen:
Option Explicit
Sub Kurzwegsuche_OV()
Dim Visum As New VISUMLIB.Visum
Dim aLink As VISUMLIB.ILink
Dim aNode As VISUMLIB.INode
Dim aZone1 As VISUMLIB.IZone
Dim aZone2 As VISUMLIB.IZone
Dim aNetElementContainer As VISUMLIB.INetElements
Dim aRouteSearchPuT As VISUMLIB.IRouteSearchPuT
Visum.LoadVersion ActiveWorkbook.Worksheets("Einstellungen").Cells(1, 2)
Set aNetElementContainer = Visum.CreateNetElements
Set aRouteSearchPuT = Visum.Analysis.RouteSearchPuT
Set aZone1 = Visum.Net.Zones.ItemByKey(Cells(7, 2).Value)
Set aZone2 = Visum.Net.Zones.ItemByKey(Cells(8, 2).Value)
aNetElementContainer.Add aZone1
aNetElementContainer.Add aZone2
aRouteSearchPuT.Execute aNetElementContainer, "P", "08:00:00", "1", False, "ADDVAL1", False
End Sub
http://vision-traffic.ptvgroup.com/faq-files/PTV_ExampleShortestPathSearch.zip