Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Afficher Google et fermer l'onglet nouveau sans fermer le navigateur

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

J'ai une nouvelle p'tite demande ... de confort .
Malgré essais et recherches : je n'ai pas trouvé !

Quand je travaille, sont ouverts :
- mon classeur excel,
- mon navigateur Google et mon onglet "agenda",

J'ai fait un p'tit code pour afficher Google direct sans sortir de mon classeur (ça ... c'est pas très difficile)
Mais ça ouvre toujours un nouvel onglet dans le navigateur
Est-il possible d'afficher Google et de sélectionner directement mon agenda sans qu'un nouvel onglet soit ouvert ?
mon p'tit code :
VB:
Option Explicit
Dim CmdBar As CommandBar
Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" _
    Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, _
    ByVal lpFile As String, ByVal lpParameters As String, _
    ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub agenda1()
    Dim fichier As String
        fichier = "https://accounts.google.com/ServiceLogin/"
    ShellExecute 0, "", fichier, "", "", 0
End Sub
le lien : est tronqué pour la confidentialité

Auriez-vous la solution ?
Je joins un petit classeur test,
Avec mes remerciements,
lionel,
 

Pièces jointes

  • Agenda.xlsm
    15.9 KB · Affichages: 99
Dernière édition:

Dudu2

XLDnaute Barbatruc
J'ai modifié un détail dans le Module_APIWindows dans ma fonction ActivateWindow() en mettant le SetForegroundWindow hWnd pour tous les cas. Je ne sais pas pourquoi je ne l'ai pas fait avant !
Mais bon, ce genre de truc je ne maitrise à 100% car pour moi les codes du ShowWindow devraient suffire. Après ce sont les tests qui font la vérité !
VB:
'---------------
'Activate Window (Activates & Maximizes a minimized Window)
'Equivalent of: If IsIconic(hWnd) Then ShowWindow hWnd, SW_SHOWMAXIMIZED: AppActivate GetWindowName(hWnd)
'---------------
Function ActivateWindow(hWnd As LongPtr)
    SetForegroundWindow hWnd
   
    'Window is minimized, 2 options:
    'SW_RESTORE (9):  Restores the window to its original size and position, i.e. its default size and position at launch time (e.g. Google Chrome is not maximized at launch time)
    'SW_MAXIMIZE (3):  Maximizes the specified window
    If IsIconic(hWnd) Then
        ShowWindow hWnd, SW_SHOWMAXIMIZED

    'Window is NOT minimized, best option is:
    'SW_SHOW (5): Displays the window in its current size and position
    Else
        ShowWindow hWnd, SW_SHOW
    End If
End Function
 

Dudu2

XLDnaute Barbatruc
En fait, je dois exprimer mon auto-satisfaction claironnante au regard du Module_APIWindows qui me libère des déclarations pénibles des fonctions de l'API Windows et dans lequel j'ai inclu quelques routines perso pour simplifier / compléter l'accès à certaines fonctionnalités, dont celles concernées ici, ActivateWindow(), que j'ai donc pu améliorer et l'indispensable GetWindowByPartialName() qui permet de faire fonctionner pas mal de bouzins.
Bonne fin de journée.
 

Discussions similaires

Réponses
4
Affichages
452
Réponses
1
Affichages
1 K
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…