2015-05-19 6 views
0

Я пытаюсь объединить URL-адрес с множеством различных частей (переменных), добавленных в конец URL-адреса.Конкатенатная гиперссылка в Powerpoint VBA

У меня есть кнопка, и когда вы нажмете кнопку, она приведет вас к определенному сайту, используя индекс слайдов текущего слайда.

Когда кнопка мыши, я хочу, чтобы перейти к «google.com/p» + Slide.Index + slide.ID + ActivePresentation.fileName

Я знаю синтаксис не правильно, но мы надеемся, вы получаете GIST.

В настоящее время у меня есть этот код:

Private Sub CommandButton21_Click() 

    Dim projId AS Integer = 617 
    Dim URL AS String = "www.google.com" 
    Dim coID = "m01" 
    Dim coTitle AS String = "New CC Project" 
    Dim oSl As Slide 
    Dim pgId 



    ActivePresentation.FollowHyperlink _ 
    Address:="http://google.com/p" + oSl.SlideID 
    NewWindow:=True, AddHistory:=True 


End Sub 

Заранее спасибо

ответ

2

Это должно вас немного ближе:

Private Sub CommandButton21_Click() 
    ' You can't assign values to variables at the same time 
    ' as you DIM them; you CAN do so with Constants: 
    Const projId As Integer = 617 
    Const URL As String = "www.google.com" 
    Const coID As String = "m01" 
    Const coTitle As String = "New CC Project" 
    Dim oSl As Slide 
    'Dim pgId 

    ' You can't just refer to oSl; you have to first tell it WHICH slide 
    Set oSl = ActivePresentation.Slides(1) ' or whatever slide you want 

    ActivePresentation.FollowHyperlink _ 
    Address:="http://google.com/p" & oSl.SlideID, _ 
    NewWindow:=True, _ 
    AddHistory:=True 

End Sub 
+0

Спасибо! Это сработало!!! – dHumphrey

+0

Хороший помощник по работе;) – moffeltje

1

& всегда оценивается в контексте строки, в то время как + не может сцепить, если один из операндов не строка:

Private Sub CommandButton21_Click() 

    Dim projId AS Integer 
    Dim URL AS String = "www.google.com" 
    Dim coID = "m01" 
    Dim coTitle AS String = "New CC Project" 
    Dim oSl As Slide 
    Dim pgId 
    projId = 617 


    ActivePresentation.FollowHyperlink _ 
    Address="http://google.com/p" & oSl.SlideID 
    NewWindow=True 
    AddHistory=True 


End Sub 
+0

Почему я получаю сообщение об ошибке на 'Dim projíd AS Integer = 617' и' NewWindow: = True, AddHistory: = true' – dHumphrey

+0

см обновлен ответа – moffeltje

0

Я исправил проблему, просмотрев код ниже!

Sub CommandButton21_Click() 
    Dim sl As slide 
    Dim projId As Integer 
    Dim coID As String 
    Dim URL As String 
    Dim coTitle As String 
    Dim pgId 
    URL = "www.google.com" 
    projId = 617 
    coID = "m01" 
    coTitle = "New CC Project" 

    Set sl = SlideShowWindows(1).View.slide 

    ActivePresentation.FollowHyperlink _ 
    Address:=URL & projId & "&coIdent=" & coID & "&coTitle=" & coTitle & "&pgIdent=" & sl.slideId & "&pgTitle=" & sl.slideId & "&pageFileName=" & ActivePresentation.FullName & "&pageOrder=" & sl.SlideIndex, _ 
    NewWindow:=True, AddHistory:=True 
Смежные вопросы