Excel 2010 を使用して VBA で簡単なサブルーチンを作成して、bit.ly を使用して URL のリストを自動化し、短縮されたリンクをコピーして元のリンクを置き換えようとしています。しかし、途中でエラー 70: Permission Denied ランタイム エラーが発生します。私はいくつかのコースを受講しましたが、これはほとんど機能しますが、VBA にはあまり詳しくないので、可能であればこれをデバッグする際に何らかの助けを借りることができます (非常に役立ちます)。コードは次のとおりです。
Option Explicit
Dim IE As Object
Sub AutoAbbrev()
Set IE = CreateObject("InternetExplorer.Application")
Dim holdURL As String
Dim row_number As Integer
IE.Visible = True
For row_number = 101 To 112
holdURL = ""
If Range("b" & row_number).Value = "" Then GoTo Skip
IE.navigate "http://www.bitly.com" 'load bit.ly
Do While IE.readyState <> 4
DoEvents
Loop
IE.document.all("shorten_url").Value = Range("b" & row_number).Value
IE.document.all("shorten_btn").Click
Do While IE.document.all("shorten_url").Value = Range("b" & row_number).Value Or IE.document.all("shorten_url").Value = ""
DoEvents
Loop
holdURL = IE.document.all("shorten_url").Value
IE.document.all("shorten_url").Value = ""
Range("b" & row_number).Value = holdURL
Skip:
Next row_number
End Sub
Private Sub Command1_Click()
AutoAbbrev
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set IE = Nothing
If TypeName(IE) <> "Nothing" Then Unload IE
Set IE2 = Nothing
If TypeName(IE2) <> "Nothing" Then Unload IE2
End Sub
プログラムが 1 回以上の反復を実行した後、エラーは主にこの行でスローされます。
Do While IE.document.all("shorten_url").Value = Range("b" & row_number).Value Or IE.document.all("shorten_url").Value = ""
DoEvents
Loop
このこぶを乗り越えるのに役立つ具体的なアドバイスがあれば、大いに感謝します。ありがとう!