| 2019/01/29(Tue) 14:28:45 編集(投稿者)
■No90005 (イエメン さん) に返信 > Thread.Sleep(100) > を入れるとうまくいきました。
UI スレッドで Sleep を呼びだすことは避けてください。
> これらはどのようにして使用するものなのでしょうか?
たとえば BeginInvoke ならこうかな。 掲示板に直接書いたので未検証ですけど。
Private Sub ButtonX_Click(… Dim oldCursor = Cursor.Current Cursor.Current = Cursors.WaitCursor
Dim xlApp As Object = Nothing Try xlApp = GetObject(, "Excel.Application") CallByName(xlApp, "CutCopyMode", CallType.Let, False) Catch Finally If xlApp IsNot Nothing AndAlso Marshal.IsComObject(xlApp) Then Marshal.ReleaseComObject(xlApp) End Try BeginInvoke(Sub() Try Clipboard.Clear() RichTextBox1.Copy()
Dim wApp As Object = Nothing '中略 Try wApp = CreateObject("Word.Application") '中略 CallByName(wRng, "Paste", CallType.Method) CallByName(wRng, "Copy", CallType.Method) Catch Finally '中略 End Try Catch Finally Cursor.Current = oldCursor End Try End Sub) End Sub |