下記コーディングでEXCELのVBAよりIEを起動する際、IE5.0では正常に動作するのですが、他のバージョン(IE5.5等)ではうまく起動出来ません?
良い解決策があれば教えていただきたいのですが。

Dim IE As Object
Dim URL As String
Set IE = CreateObject("InternetExplorer.Application")
URL = "ftp://XXXXXXXX/999/"
With IE
.Navigate2 URL
.Visible = True
.Height = 400
.Width = 400
.Top = 0
.Left = 0
End With

Windows98/Excel2000

このQ&Aに関連する最新のQ&A

A 回答 (1件)

.Navigate2 URL





.Navigate URL

にすると動くのでは?
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QEXCELで、1+1=2, 2+2=4...を100回正確に行う方法

1+1=2, 2+2=4 を100回した場合の、個々の結果を表示させたいと考えています。
Excelでやろうとしたのですが、15桁以上は丸めが入ってしまいます。
この丸めを回避するために、15桁までと、15桁以上を別々に計算すれば良いという
事はわかっているのですが、具体的に、どのような関数を使い、セルを埋めて行けば
よいかが判りません。

操作方法、あるいは参考になるURLを示してもらえませんか。

Aベストアンサー

10桁ごとに表示する関数を作りました。
2^100は31桁になるので4列使用します

D列に下10桁を表示
C列に下11から20桁を表示
B列に下21から30桁を表示
A列に下31から40桁を表示

D1セルに1
D2セルに =MOD(D1*2,10^10)
D3以降はこの式をコピーし貼り付けてください。

C2セルに =MOD(INT(D1*2/10^10)+C1*2,10^10)
C3以降はこの式をコピーし貼り付けてください。

A,B列はC列の式をコピーし貼り付けてください。

10桁ごとに表示されます。

ただし表示形式が標準を0000000000(0が10個)としてください。

Qブランク=0を ブランク=ブランク にする方法

Excelでの質問です。
例えば セルB1に =セルA1 と入力した場合
セルA1に明記された文字がそのまま表示されると思うのですが、
セルA1がブランクの場合 セルB1は ‘0’と表示されてしまいます。
セルB1を そのままセルA1と同じようにブランクで表示するには
どのようにしたらいいでしょうか?

どうぞ宜しくお願いします。 

Aベストアンサー

「0」を非表示にする3つの方法
http://dreamy.boy.jp/kan43.htm

Qエクセルで、=IF(A12="a",TRUE)は =A1="a"  ???

エクセルで、
=IF(A12="a",TRUE)

=A1="a"
と省略できるのですか?

やってみるとまったく同じようなのですが、いまいち不安です。

また、=IF(D4=TRUE,"OK!","No!")も、日頃=IF(D4,"OK!","No!")と略してますが、これも正しいんですよね?
気になったものですから確認させてください。

Aベストアンサー

こんにちは。maruru01です。

IF関数について、少し補足説明します。
IF関数は、No.1にもあるように、

=IF(条件式,真の場合,偽の場合)

という書式ですが、

=IF(条件式,真の場合)

と、偽の場合を省略することが出来ます。
ここで偽の場合は、FALSEという論理値を返します。
つまり、質問欄の1つ目の例に当たります。
なお、

=IF(条件式)

と、真の場合も省略することは出来ず、

=IF(条件式,,偽の場合)

と、空欄にすると、真の場合は数値の「0」を返すことになります。
ちなみに、偽の場合も、

=IF(条件式,真の場合,)

と、引数区切りのカンマだけ付けると、空欄と見なされて(省略とは異なる)数値の「0」を返します。

次に、条件式についてですが、
条件式は、

「左辺」+「比較演算子」+「右辺」

の書式になっているものを指します。
ここで、比較演算子とは、
「=、>、<、>=、<=、<>」
を指します。
条件式は、成立/不成立の結果、TRUE/FALSEという論理値を返します。
つまり、

=A1="a"

は、条件式の戻り値そのものを表示していることになります。
それに対して、IF関数の方は、条件式を判定した結果、真の場合と偽の場合をそれぞれ実行して表示しています。
その真の場合と偽の場合が、条件式の戻り値とちょうど一致しているということです。

さて、IF関数の第1引数は、通常は上記の条件式を指定しますが、実際はIF関数は第1引数を数値として判断しています。
その判定基準は、第1引数が、
0 → 偽の場合を実行
0以外 → 真の場合を実行
となります。
そして、第1引数が条件式の場合に限り、戻り値の論理値を、
TRUE → 1
FALSE → 0
と数値に変換して判定しているのです。
これが、質問欄の後半の2つの数式の挙動の違いの原因なのです。

=IF(D4=TRUE,"OK!","No!")

は、第1引数は「D4=TRUE」という条件式です。
この場合、戻り値は必ずTRUE/FALSE(=1/0)です。
(ただし、D4にエラーが入っている場合を除く)
一方、

=IF(D4,"OK!","No!")

の方は、第1引数は「D4」で、これはセルD4の値そのものです。
で、前述のように、IF関数は第1引数を数値として判定するので、このD4が数値(と論理値)以外の場合(文字列など)はエラーになります。
D4が数値(と論理値)の場合は、前述のように、「0」かそれ以外かで判定され、真/偽の場合のいづれかを実行して表示します。

このIF関数の第1引数が数値として判定されているということを利用した例が以下のようなものです。
例えば、A列に数値が1つでもあれば"OK"、1つもなければ(つまり0)"NG"を表示する場合、意味を考えれば、

=IF(COUNT(A:A)>0,"OK","NG")

ですが、これを、

=IF(COUNT(A:A),"OK","NG")

と、A列の数値の個数(COUNT関数の戻り値)そのもので判定することが出来るわけです。

以上、長くなりましたが、補足説明でした。

こんにちは。maruru01です。

IF関数について、少し補足説明します。
IF関数は、No.1にもあるように、

=IF(条件式,真の場合,偽の場合)

という書式ですが、

=IF(条件式,真の場合)

と、偽の場合を省略することが出来ます。
ここで偽の場合は、FALSEという論理値を返します。
つまり、質問欄の1つ目の例に当たります。
なお、

=IF(条件式)

と、真の場合も省略することは出来ず、

=IF(条件式,,偽の場合)

と、空欄にすると、真の場合は数値の「0」を返すことになります。
ちなみに、偽...続きを読む

Qエクセルでの時刻表示を「時分秒」にし、且つ「0時」「0分」は表示せず、また「0分38秒」は「38秒」

エクセルでの時刻表示を「時分秒」にし、且つ「0時」「0分」は表示せず、また「0分38秒」は「38秒」と表示したい。

エクセル2010を使用しています。

   A     B      C
  終了    開始    経過時間
1 17:38:25  17:37:47  0:00:38
2 10:21:01  10:13:55  0:07:06

このように、終了時間から開始時間を引き、経過時間を出す表を使っていますが、経過時間の表示を
C1 38秒
C2 7分6秒
としたいと考えています。

時間は全てシリアル値で、現在の書式設定は「時刻」の「13:30:55」です。
これをユーザー設定で「m"分"s"秒"」にすると
0分38秒
7分6秒
となりますが、0分の場合は表示したくありません。
ただし、0秒は表示したいと考えています。

色々なワードで検索しましたが、解決策を見付けることが出来ませんでした。
経過時間を私が望む表示にする方法があるのかどうか分かりませんが、何か方法をご存じの方がいらっしゃれば、ご教示願います。

エクセルでの時刻表示を「時分秒」にし、且つ「0時」「0分」は表示せず、また「0分38秒」は「38秒」と表示したい。

エクセル2010を使用しています。

   A     B      C
  終了    開始    経過時間
1 17:38:25  17:37:47  0:00:38
2 10:21:01  10:13:55  0:07:06

このように、終了時間から開始時間を引き、経過時間を出す表を使っていますが、経過時間の表示を
C1 38秒
C2 7分6秒
としたいと考えています。

時間は全てシリアル値で、現在の書式設定は「時刻」...続きを読む

Aベストアンサー

C1に表示された結果を用いてD1に表示させる式を書きますね。
1行目がタイトル行であれば2行目から使ってください。
Cを省略したければDの式のCを参照している部分にCの内容を代入してください。

D1=IF(HOUR(C1)=0,"",C1&"時間")&IF(MINUTE(C1)=0,"",C1&"分")&IF(SECOND(C1)=0,"",C1&"秒")
(1時間以上になることがないのであれば最初の部分は不要ですが)
これにより、時間部分が0でない場合のみ「○時間」、分部分が0でない場合のみ「○分」、秒部分が0でない場合のみ「○秒」と表示されます。
01:01:01であれば1時間1分1秒
00:01:00であれば1分
00:00:01であれば1秒
00:00:00であれば空白
と言った具合で、0でない部分のみが表示されるわけです。

QExcelVBA With~End With構文でまとめられない??

すみませんがご教示いただければ幸いです。
セル範囲を選択させ、情報を得てから作業するのですが、コードにたくさんSelection(すべて同じ選択範囲)が出てくるのでWith~End Withでまとめようと思いました。
ところが、まとめてもSelectionという表記を省略できたのはほんのわずかです。
ご覧の通り、TypeName(Selection) をはじめIntersect(Selection(1), 等々省略できないのがほとんどです。
Set myRng=Selection でやったとしても、SelectionがmyRngに変わるだけでぜんぜん省略にならないですよね?
こんな場合は何か別の省略した書き方があるのでしょうか?

Sub test()
With Selection
If TypeName(Selection) <> "Range" Then 'セル以外をセレクトしてたら
MsgBox "セル範囲を選択してください。", vbCritical, " Σ( ̄ロ ̄lll)"
Exit Sub
End If
If Intersect(Selection(1), Range("D4:AY65")) Is Nothing _
Or Intersect(Selection(.Count), Range("D4:AY65")) Is Nothing Then '指定のセル範囲をはみ出てたら
ans = MsgBox("はみ出してますがいいんですか?", vbYesNo + vbQuestion, " ( ̄□ ̄; ? ")
If ans = vbNo Then
Exit Sub
End If
End If
For Each Ln In ActiveSheet.Lines '配置された各直線につき
If Not Intersect(Range(Ln.TopLeftCell, Ln.BottomRightCell.Offset(0, -1)), Selection) Is Nothing Then '選択範囲とかぶってたら
MsgBox "重複してます!", vbCritical, " ( ̄□ ̄;)!! "
Exit Sub
End If
Next
End With
'以下、無関係なので略します。
End Sub

すみませんがご教示いただければ幸いです。
セル範囲を選択させ、情報を得てから作業するのですが、コードにたくさんSelection(すべて同じ選択範囲)が出てくるのでWith~End Withでまとめようと思いました。
ところが、まとめてもSelectionという表記を省略できたのはほんのわずかです。
ご覧の通り、TypeName(Selection) をはじめIntersect(Selection(1), 等々省略できないのがほとんどです。
Set myRng=Selection でやったとしても、SelectionがmyRngに変わるだけでぜんぜん省略にならないですよね?
...続きを読む

Aベストアンサー

こんばんは。

結論からすると、With Selection ~ End With の必要性は、あまり出てきませんね。
Selection というスタイル自体が特殊ですから、まとめても不恰好になってしまいます。

With Selection というのは、Excel では、あまり品番に出てこないように思います。
こういう書法の原則というのは、文字数を減らすということなのだと私は解釈しています。だから、一応、以下は、その目的自体は達成はしているように思います。

TypeName の部分は除いて、「はみ出してます」に関してのみ、少し考えてみました。まずは、参考まで。


Sub TestSample1()
  Dim r As Range
  Set r = Range("D4:AY65")
  ''--TypeName は省略--
  With Selection
    If .Areas.Count > 1 Then
       MsgBox "複数の範囲を選択しています。ひとつにしてください。"
       Exit Sub
    End If
    If Not Intersect(.Cells, r) Is Nothing Then
      If (.Cells(1).Row >= r(1).Row And .Cells(.Cells.Count).Row <= r.Cells(r.Count).Row) And _
        (.Cells(1).Column >= r(1).Column And .Cells(.Cells.Count).Column <= r.Cells(r.Count).Column) Then
        MsgBox "範囲内に入っています。"
      Else
        MsgBox "範囲からはみ出ています。"
      End If
    Else
      MsgBox "範囲外です。"
    End If
  End With
End Sub

こんばんは。

結論からすると、With Selection ~ End With の必要性は、あまり出てきませんね。
Selection というスタイル自体が特殊ですから、まとめても不恰好になってしまいます。

With Selection というのは、Excel では、あまり品番に出てこないように思います。
こういう書法の原則というのは、文字数を減らすということなのだと私は解釈しています。だから、一応、以下は、その目的自体は達成はしているように思います。

TypeName の部分は除いて、「はみ出してます」に関してのみ、少し考えて...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報