この募集は2019年12月21日に終了しました。

Win server 2016 エクセルVBAで複数の起動済みIEを取得する方法をお願いしますの仕事 [IT・通信・インターネット]

Win server 2016 エクセルVBAで複数の起動済みIEを取得する方法をお願いしますに関する仕事・募集案件ページです。クラウドソーシングのランサーズで、Excelマクロ作成・VBA開発に関する最適な外注/発注先をお探しの方、副業案件・求人をお探しのフリーランスの方はまず会員登録がおすすめです。

見積もり募集の結果

募集期間

7日間

提案数

4件

当選人数

1 件

(募集人数1人)

実際の発注内容

依頼の予算
1 円 ~ 5,000
実際の支払い金額
3,000 円 ~ 4,000
製作期間
0
実際の受注者
SESこんの
SESこんの

シルバー 認証済み、受注実績あり、評価が高く活躍中のランサーです Access、Excel、VB.NET、PHPでのWindows、Webの業務アプリ開発 お任せ

  • 希望時間単価 ---
  • 実績 41
  • 満足率 100 %
  • プロジェクト完了率 100%
  • 機密保持
  • 本人確認
  • 電話

はじめまして、東京・小金井市で業務IT化コンサルタントおよびAccess、VBによる業務アプリケーションとPHPでのWebアプリケーションを中心に開発しています。 お客さまのご要望を直にヒアリングして、使えるシステムを提供することを目的に独立し、フリーとして活動して30年になります。 EXCELではちょっと物足りない、と思っている方はAccessに変更してみませんか。 弊社が、EX... 続きを読む

スキル
.NET
MySQL
PostgreSQL
Access
Excel
PHP5
... もっと見る
発注者の声

見積もり募集の内容

依頼主の業種
IT・通信・インターネット
提示した予算
1 円 ~ 5,000 円
依頼概要
【環境】
OS:Windows server 2016
ソフト:Office365
ブラウザ:IE11

複数のIEを起動させて、そのタイトルやURLを取得したいと思っています。

上記の環境で文末のVBAを動かしたのですが、
上手く動かすことができませんでした。

For~Nextの部分ですが、添付画像「タスクバー.jpg」のように
エクセルVBAでIEを2つ起動したのですが、
「Google」のみを取得してNextからForに戻らず(2週目に入らず)
下記のような流れで終わってしまいます。

End If

Next

Set objShell = Nothing

End Sub

NextからForに戻らないために、
objWindow.document.Title Like "*Amazon*"が得られずに
Range("A2").Value = "Amazon"への書き込みができませんでした。


手動でIEのアイコンをクリックして2つのIEを起動しますと
For~Nextが動作してGoogleもAmazonも取得することができ
A1にもA2にも書き込みがされます。

文末のVBAのように「Sub openIE()」でIEを立ち上げると
For~Nextが上手く動作しないようです。

こちらのVBAですが、通常のWindows10 + Office365では問題なく動作して
GoogleもAmazonも取得できました。

IEの保護モードは有効になっています。

何かの環境の違いでFor~Nextが動作しないと思うのですが、
原因が分かる方はみえますでしょうか?

エクセルの参照設定の画像も記載させていただきます。
どうぞよろしくお願いいたします。


Option Explicit

Sub openIE()

Dim URL As String
Dim objIE As Object

Cells.ClearContents

URL = "https://www.google.co.jp/"
Set objIE = Nothing
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.navigate (URL)

Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop

Do While objIE.document.readyState <> "complete"
DoEvents
Loop

URL = "https://www.amazon.co.jp/"
Set objIE = Nothing
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.navigate (URL)

Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop

Do While objIE.document.readyState <> "complete"
DoEvents
Loop

Call getIE(objIE)

End Sub
Sub getIE(objIE)

Dim objShell As Object
Dim objWindow As Object

Set objShell = CreateObject("Shell.Application")

For Each objWindow In objShell.Windows
If objWindow.Name = "Internet Explorer" Or objWindow.Name = "Windows Internet Explorer" Then
If objWindow.document.Title Like "*Google*" Then
Range("A1").Value = "Google"
End If
If objWindow.document.Title Like "*Amazon*" Then
Range("A2").Value = "Amazon"
End If
End If
Next

Set objShell = Nothing

End Sub

添付ファイル
※ 締切後、添付ファイルはクライアントと当選したランサー以外は閲覧できません
  • タスクバー.jpg
  • 参照設定.jpg
会員登録する (無料)