VBA:否则如果错误 [英] VBA: Else without If Error
本文介绍了VBA:否则如果错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试运行以下代码,但是我在第一个子进程中继续获取Else而不会出现If Error。代码应该通过列运行,如果单元格中有一个url,则打开网页,然后将页面信息另存为文本文件。如果没有url,那么它只将该文件中的文本保存为文本文件。我不知道如何更改语法以使其正常工作。
I'm trying to run the following code, but I keep getting the Else without If Error in the first sub. The code is supposed to run through a column, open webpages if there is a url in the cell, then save the page info as a text file. If there is no url, then it just saves the text within that file as a text file. I can't figure out how to change the syntax to get it to work.
Sub LoopOverB()
Dim myRow As Long
myRow = 10
While Worksheets("Input_Format_A").Cells(myRow, 2).value <> ""
If InStr(1, Worksheets("Input_Format_A").Cells(myRow, 2).value, "http://", vbTextCompare) Then Call url_Test(Worksheets("Input_Format_A").Cells(myRow, 2).value, "C:\mallet\test\" & Worksheets("Input_Format_A").Cells(myRow, 1).value & ".txt")
myRow = myRow + 1
Else
Open "C:\mallet\test\" & Worksheets("Input_Format_A").Cells(myRow, 1) & ".txt" For Append As #1
Print #1, Worksheets("Input_Format_A").Cells(myRow, 2).value
Close #1
myRow = myRow + 1
End If
Wend
End Sub
Sub url_Test(URL As String, Filename As String)
Dim FSO As Object
Dim ieApp As Object
Dim Txt As String
Dim TxtFile As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TxtFile = FSO.OpenTextFile(Filename, 2, True, -1)
Set ieApp = CreateObject("InternetExplorer.Application")
ieApp.Visible = True
ieApp.Navigate URL
While ieApp.Busy Or ieApp.ReadyState <> 4
DoEvents
Wend
Txt = ieApp.Document.body.innerText
TxtFile.Write Txt
TxtFile.Close
ieApp.Quit
Set ieApp = Nothing
Set FSO = Nothing
End Sub
推荐答案
与第一个一致,如果
,则必须在然后
,否则你的如果
将被暗中关闭。
On the line with the first If
, you must go to a new line after Then
, otherwise your If
will be implicitely closed.
'Good (in this case)
If <condition> Then
DoSomething
myRow = myRow + 1
Else
DoSomething Different
End if
'NOT good
If <condition> Then DoSomething
'the if is now "closed" !!!
myRow = myRow + 1
Else
DoSomething Different
End if
这篇关于VBA:否则如果错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文