
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
#1です。
しつこいようですが、切り貼りのコードでは不具合の有無すら検証出来ませんし、何をされたいのかも解かりません。
かなりVBAの知識がおありのようで、私などの出る幕では無いようです。
レスはこれで最後にしようと思いますが、参考まで。
失敗の原因とクリップボード監視ソフトの因果関係は検証出来ないので解かりませんが、個人的な印象としては、何らかの原因で iniFaileSetPositionSheet を見失う事があり、それが原因で失敗しているように感じます。
iniFaileSetPositionSheet を Workbook.Worksheet.Range のように明示的にブックから指定してみるとか。。。
最後に、CSVをタブ区切りに変えてセルの書式が標準のシートに、クリップボードを使ってコピー&ペーストするのと、単純に開くのと、どんな違いがあるのか私には解かりませんでした。
Sub Test()
Dim wb As Workbook, fName As String
fName = "C:\aaa.csv"
Set wb = Workbooks.Open(fName)
wb.Worksheets(1).UsedRange.Copy
End Sub
お礼が遅くなってすみません
1秒WAITさせたら、エラーがでなくなりました
とりあえずこれで行きます
でも 原因が不明なんです。。。。
Application.Wait (Now() + TimeValue("00:00:01"))
iniFaileSetPositionSheet.Range("A2").PasteSpecial
No.2
- 回答日時:
#1です。
動作しない形でコードを提示されても、検証出来ません。
myTextData ? iniFaileSetPositionSheet ?
省略するにしても最低限の動作はするコードで、この場合はOKで、この場合はダメなどの状況説明が無いと辛いです。
不明な部分を独自に補正&加工して下記のようにし、常駐秀丸でクリップボード監視をさせながら試しましたが別に問題なかったです。(Windows2000 + Excel2000とWindows95 + Excel97)
'********************************************************************
Private Sub Workbook_Open()
Dim myInt As Integer
Randomize
myInt = Int((100 * Rnd) + 1) 'コピー用データをランダムに作るだけ
If iniFileSet(ThisWorkbook.Worksheets(1), Str(myInt)) Then
MsgBox Str(myInt) & " を " & _
ThisWorkbook.Worksheets(1).Name & _
" の A2 に貼付けました。", vbInformation
End If
End Sub
'********************************************************************
Public Function iniFileSet(ws As Worksheet, s As String) As Boolean
On Error GoTo ER:
iniFileSet = False
Set MyDataObject = New DataObject
MyDataObject.SetText s
MyDataObject.PutInClipboard
ws.Range("A2").PasteSpecial
iniFileSet = True
Exit Function
ER:
End Function
'********************************************************************
もとのコードはクリップボード監視ソフトが常駐していなければ問題なく動くんでしょうか?
この回答への補足
>myTextData
Dim myTextData As String
Set myFso = New Scripting.FileSystemObject
Set myTst = myFso.OpenTextFile(faileNeme)
With myTst
Do While .AtEndOfStream = False
myTextData = myTextData & Replace(.ReadLine, ",", vbTab) & vbCrLf
Loop
End With
CSVファイルを読み込み、','をTABコードに変換しています
>iniFaileSetPositionSheet
すべてのセルの書式が標準の空のシート
(読み込んだCSVを書き込みシート)
>もとのコードはクリップボード監視ソフトが常駐していなければ問題なく動くんでしょうか?
はい 問題なく動きます
No.1
- 回答日時:
これだけで的確な回答を出来る人がいるでしょうか?
実際に見ているのと違い、文章だけでのやり取りですので、
Excelのバージョン
具体的なコード
プロシージャを呼び出している状態(シートに置いたCommandButtonから実行など)
クリップボード監視ソフトの名前
ブックやシートの状態 etc
可能な限り具体的に提示された方が回答が得られやすいと思います。
この回答への補足
Excelのバージョン:2000,2002 両方で発生
具体的なコード:
Private Sub Workbook_Open()
~略~
iniFaileSet
~略~
End Sub
Public Function iniFaileSet() As Boolean
~略~
Set myDataObject = New DataObject
myDataObject.SetText myTextData
myDataObject.PutInClipboard
iniFaileSetPositionSheet.Range("A2").PasteSpecial
~略~
End Function
クリップボード監視ソフトの名前 :なんでもいいです
たとえば 秀丸
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複雑なシフト表から...
-
【マクロ】変数に入れるコード...
-
エクセルの関数について
-
【マクロ】実行時エラー '424':...
-
【マクロ】数式を入力したい。...
-
【マクロ】【配列】3つのシー...
-
エクセルのリストについて
-
【マクロ】元データと同じお客...
-
【マクロ】左のブックと右のブ...
-
【マクロ】【相談】Excelブック...
-
他のシートの検索
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
vba テキストボックスとリフト...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
LibreOffice Clalc(またはエク...
-
エクセルシートの見出しの文字...
-
Amazonでマイクロソフトオフィ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
学校で買ったiPadがあるんです...
-
夕飯食べてる時、なんか、母に...
-
Googleマップで行動履歴とか見...
-
今の日本の監視管理社会を生き...
-
会社が従業員に無断で、工場に...
-
アプリについて
-
バイト前眠れないです。 大学生...
-
スター・ウォーズエピソード3を...
-
Excelシート上のオプションボタ...
-
OVO(OpenViewOp...
-
通信調査
-
大至急‼️学校のiPadについて
-
PCが監視されていることを逆探...
-
RSSが無いHPの更新を自動的に調...
-
教えて!gooの監視って、深夜も...
-
公安の国木田が怖いです どうし...
-
共有フォルダへのアクセスを監...
-
会社のPCのセキュリティ
-
Webカメラによる遠隔監視方法
-
環境衛生監視員の具体的な仕事内容
おすすめ情報