質問編集履歴

1

標準プロシージャでは作動するのですが、今回の元となったプロシージャ(クラス)についての質問を追記します。

2021/01/13 20:45

投稿

ice930
ice930

スコア99

test CHANGED
File without changes
test CHANGED
@@ -45,3 +45,135 @@
45
45
  アドバイスいただきたく質問いたしました。
46
46
 
47
47
  よろしくお願いします。
48
+
49
+
50
+
51
+ ### ~以下追記部分です~
52
+
53
+ 上記プロシージャですが、質問用で「標準モジュール」に入力したものでして、現在ご回答いただいた回答ですべて問題なく処理されました。(ありがとうございます!!)
54
+
55
+
56
+
57
+ 今回の質問の元となった問題点なのですが、「**クラスモジュール**」に記載されたプロシージャで有り、こちらに同様の手法を用いると Ctrl + V では空欄の貼り付けになってしまい、これを解決したく追記で質問いたしました。
58
+
59
+ (最初の時点でモジュールの種類が問題ではないと思い記載しませんでした・・・。申し訳ありません。)
60
+
61
+
62
+
63
+ ```ここに言語を入力
64
+
65
+ Private Sub tgtctrl_Click()
66
+
67
+ Dim intRow As Long
68
+
69
+ Dim URL As String
70
+
71
+ Dim intcol As Long
72
+
73
+ Dim i As Long
74
+
75
+
76
+
77
+ MsgBox "コピーしました"
78
+
79
+ i = tgtctrl.Tag
80
+
81
+ intRow = tgtrange.Row
82
+
83
+ intcol = 5 + 2 * i
84
+
85
+
86
+
87
+ ECOL = 1
88
+
89
+ Do While Cells(2, ECOL) <> ""
90
+
91
+ If InStr(Cells(2, ECOL), "URL") > 0 Then
92
+
93
+ SCOL = ECOL
94
+
95
+ End If
96
+
97
+ ECOL = ECOL + 1
98
+
99
+ Loop
100
+
101
+ SCOL = SCOL + 1
102
+
103
+ ECOL = ECOL - 1
104
+
105
+
106
+
107
+ Dim ws As Worksheet
108
+
109
+ Set ws = ThisWorkbook.Worksheets("パスワード")
110
+
111
+
112
+
113
+ ActiveSheet.Unprotect
114
+
115
+
116
+
117
+ Dim x '変数宣言
118
+
119
+ x = Cells(intRow, intcol).Value '値のみ取得
120
+
121
+ With New DataObject
122
+
123
+ .SetText x
124
+
125
+ .PutInClipboard
126
+
127
+ .GetFromClipboard'変数確認用
128
+
129
+ a = GetText'変数確認用
130
+
131
+ End With
132
+
133
+ MsgBox a'変数確認用
134
+
135
+
136
+
137
+ ActiveSheet.Protect
138
+
139
+ End Sub
140
+
141
+ ```
142
+
143
+ フォームに配置された「コピーボタン」を押すとおこるイベントです。
144
+
145
+ 1月13日時点でアドバイスいただいた方2名の方のコードを参考に作成しました。
146
+
147
+
148
+
149
+ 一部確認用で配置したコード(3行)も有り、そのまま残しています。('変数確認用とコメント入れています。)
150
+
151
+
152
+
153
+ 以下については確認しています。
154
+
155
+ - Microsoft Forms 2.0 Object Library の参照設定はされていました。
156
+
157
+ - ステップインでCells(intRow, intcol)の文字列は問題なく参照されていました。
158
+
159
+ - 変数xに文字列は問題なく参照されていました。
160
+
161
+
162
+
163
+
164
+
165
+ 以下は現在の状況です。
166
+
167
+ - エラーは起こりませんが、Ctrl + V で貼り付けを行うと空欄が貼り付けられる。
168
+
169
+ - クリップボードから文字列を取り出し(a = GetText)表示させると空欄になる。(クリップボードに変数xが入っていない?)
170
+
171
+
172
+
173
+ クラスモジュールからクリップボードへの貼り付けは不可能でしょうか。
174
+
175
+ 原因やこの場合のクリップボードへの貼り付け方法についてアドバイスいただければ有難く思います。
176
+
177
+
178
+
179
+ よろしくお願いします。