0

Outlook のグローバル アドレス一覧 (GAL) を起動する HTA アプリケーションを使用して、ユーザーが会社のディレクトリから電子メールの受信者を簡単に選択できるようにしています。ただし、起動すると、GAL ウィンドウは画面の前面に表示されません。HTA の後ろに表示されます。

これが私のコードです。GAL を前面に移動する (または HTA を背面に移動する) 方法はありますか?

<HEAD>

<!---------------Resize & Move Window------------------------------>

<script language="vbscript"> 
window.resizeto 400, 300
screenWidth = Document.ParentWindow.Screen.AvailWidth
screenHeight = Document.ParentWindow.Screen.AvailHeight
posLeft = (screenWidth - 400) / 2
posTop = (screenHeight - 300) / 2
window.moveTo posLeft, posTop
</script>

<!---------------Application Info---------------------------------->

  <TITLE>GAL Picker</TITLE>
  <HTA:APPLICATION ID="MyApp" 
    APPLICATIONNAME="My GAL Picker" 
    BORDER="Dialog"
    CAPTION="Yes"
    SCROLL="no"
    MAXIMIZEBUTTON="Yes"
    MINIMIZEBUTTON="Yes"
    SHOWINTASKBAR="yes"
    SINGLEINSTANCE="no"
    SYSMENU="Yes">
</HEAD>
<BODY>

<body STYLE="font:12 pt arial; color:white;
 filter:progid:DXImageTransform.Microsoft.Gradient
(GradientType=0, StartColorStr='#000000', EndColorStr='#0000FF')">

<SCRIPT LANGUAGE="VBScript">

'''''''''''''''''''''SUBS''''''''''''''''''''''''''''''''''''''''''''

Sub GALPicker
  Dim objWordApp
  Dim strEmailName

  Set objWordApp = CreateObject("Word.Application")
  strAddress = objWordApp.GetAddress(, "<PR_DISPLAY_NAME>", False, 1, 1, , True, True)

  If strAddress = "" Then
  Exit Sub
  Else
  End If

  msgbox strAddress
  MyGal.Value = strAddress

End Sub

</SCRIPT>


<H2>My Outlook GAL Picker</H2>
<P>Add Email Recipient:
<input type="text" name="MyGAL" size="30" onfocus="vbscript:Call GALPicker">
4

2 に答える 2

0

将来の参考のために、これが私がやったことです...

    <HEAD>

    <!---------------Resize & Move Window------------------------------>

    <script language="vbscript"> 
    window.resizeto 460,255 
    screenWidth = Document.ParentWindow.Screen.AvailWidth
    screenHeight = Document.ParentWindow.Screen.AvailHeight
    posLeft = (screenWidth - 460) / 2
    posTop = (screenHeight - 255) / 2
    window.moveTo posLeft, posTop
    </script>

    <!---------------Application Info---------------------------------->

      <TITLE>GAL Picker</TITLE>
      <HTA:APPLICATION ID="MyApp" 
        APPLICATIONNAME="My GAL Picker" 
        BORDER="Dialog"
        CAPTION="Yes"
        SCROLL="no"
        MAXIMIZEBUTTON="Yes"
        MINIMIZEBUTTON="Yes"
        SHOWINTASKBAR="yes"
        SINGLEINSTANCE="no"
        SYSMENU="Yes">
    </HEAD>
    <BODY>

    <body STYLE="font:12 pt arial; color:white;
     filter:progid:DXImageTransform.Microsoft.Gradient
    (GradientType=0, StartColorStr='#000000', EndColorStr='#0000FF')">

    <SCRIPT LANGUAGE="VBScript">

    '''''''''''''''''''''SUBS''''''''''''''''''''''''''''''''''''''''''

  Sub GALPicker
  Dim objWordApp
  Dim strEmailName

  Set objWordApp = CreateObject("Word.Application")

'new line of code proviced by Bond, adjust file path as needed
CreateObject("WScript.Shell").Run "C:\Users\JohnDoe\Desktop\activate.vbs", 0, False

  strAddress = objWordApp.GetAddress(, "<PR_EMAIL_ADDRESS>" & " ### " & "<PR_DISPLAY_NAME>", False, 1, 1, , True, True)
  If strAddress = "" Then
  Exit Sub
  Else
  End If

  msgbox strAddress
  MyGal.Value = strAddress
  End Sub

    </SCRIPT>

    <H2>My Outlook GAL Picker</H2>

    <P>Add Email Recipient:
    <input type="text" name="testGAL" id= "MyGALTest" size="36" onfocus="vbscript:Call GALPicker">

次に、Bond の推奨に従って、新しい .vbs ファイルを作成しました...

Set Shell = CreateObject("WScript.Shell")

    ' Try to activate the GAL window for 10 attempts/seconds...
    For i = 1 To 10
        If Shell.AppActivate("Select Name") Then Exit For
        WScript.Sleep 100
    Next
于 2014-04-09T23:16:47.383 に答える