最近、エラーが発生し始めました1004: PasteSpecial method of Range class failed
。何もないときにアクティブなシートに貼り付けようとしている可能性があると人々が以前に言ったことは知っていますが、ご覧のとおり、すべてがに基づいてThisWorkbook
いるため、問題にはなりません。Excel にフォーカスがない場合は、特に多く発生します。
'references the Microsoft Forms Object Library
Sub SetGlobals()
Set hwb = ThisWorkbook' home workbook
Set mws = hwb.Worksheets("Code Numbers") ' main worksheet
Set hws = hwb.Worksheets("Sheet3") ' home worksheet (Scratch pad)
Set sws = hwb.Worksheets("Status") ' Status sheet
Set aws = hwb.Worksheets("Addresses") ' Addresses sheet
End Sub
Sub Import()
Call SetGlobals
hws.Select
'a bunch of code to do other stuff here.
For Each itm In itms
Set mitm = itm
body = Replace(mitm.HTMLBody, "<img border=""0"" src=""http://www.simplevoicecenter.com/images/svc_st_logo.jpg"">", "")
Call Buf.SetText(body)
Call Buf.PutInClipboard
Call hws.Cells(k, 1).Select
Call hws.Cells(k, 1).PasteSpecial
For Each shape In hws.Shapes
shape.Delete
Next shape
'Some code to set the value of k
'and do a bunch of other stuff.
Next itm
End Sub
更新: mitm と itm には 2 つの異なる型があるため、インテリセンスのためにそれを行いました。このコードは、電子メールのリストを取得して Excel に貼り付け、Excel が html (テーブルを含む) を解析し、それを直接 Excel に貼り付けます。したがって、データはシートに直接入力され、それを並べ替えたり解析したりできます。
私は基本的に、それを投稿するためにhtmlファイルに入れる以外に、これを行う別の方法を知っている人にお願いしていると思います。ありがとう