Visualizzazione dei risultati da 1 a 3 su 3

Discussione: excel 2010 e vba

  1. #1

    excel 2010 e vba

    Buongiorno a tutti.

    Ho un piccolo problemino da risolvere...

    Ho un foglio di excel dove in alcune celle tramite dei concatena mi si formano degli url.
    A me servirebbe che tutti questi url vengano lanciati con un solo click e mi si apra il browser con tutte le pagine degli url.

    Per fare questo ho creato una macro:

    Public Sub Link()
    Application.ScreenUpdating = False
    Dim WB As Workbook
    Dim SH As Worksheet
    Dim Rng As Range
    Dim rCell As Range

    Set WB = Workbooks("link.xlsm")
    Set SH = WB.Sheets("Yes")

    Set Rng = SH.Range("I4:R4")

    For Each rCell In Rng.Cells
    WB.FollowHyperlink Address:=rCell.Value, _
    NewWindow:=True
    Next rCell

    Application.ScreenUpdating = True

    End Sub

    Le pagine internet mi vengono lanciate ma ci mettono una vita e ho notato che la velocita' di esecuzione varia da sito a sito. Ho quindi dedotto che VBA aspetta "la risposta" del sito prima di lanciare l'url successivo.
    Con alcuni url infatti il lancio è lento e prima di aprire la pagina successiva aspetta che la pagina sia caricata mentre in altri siti è immediato (penso che qst rispondano immediatamente).

    Esiste un comando che bypassi questo controllo di VBA? Vorrei che una volta lanciata la macro si aprano tutte le pagine del browser immediatamente..

    Grazie mille a tutti coloro che mi aiuteranno

    Alan

  2. #2
    Mah, visto che VBA non supporta il multithreading, butto lì una idea non verificata... non mi dire di tutto se non funziona.

    1) Inserisci nel progetto un certo numero di form
    2) nell' evento Activated dei form metterai Me.Visible = false (il form serve solo per eseguire il codice) ed il codice della macro, adattandolo in modo che il Form1 lanci SOLO il primo link, il Form2 lanci SOLO il secondo link eccetera
    3) Nella macro principale scriverai, a seconda del numero dei links;

    Form1.Show (ovviamente non modal)
    Form2.Show
    eccetera

    a lume di naso dovrebbe sveltire il lancio.......

  3. #3
    ti ringrazio per la risposta...

    sono riuscito a risolvere cosi:

    Public Sub Search1()
    Dim WB As Workbook
    Dim SH As Worksheet
    Dim Rng As Range
    Dim rCell As Range

    Set WB = Workbooks("PROVA2.xlsm")
    Set SH = WB.Sheets("SEARCH")

    Set Rng = SH.Range("I452:AU452")

    For Each rCell In Rng.Cells
    'WB.FollowHyperlink Address:=rCell.Value, NewWindow:=False
    Shell "C:***********************\chrome.exe " & rCell.Value
    Next rCell

    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.