VB Command的caption複製問題

我想將 command 按鈕上的文字

點一下即可複製到剪貼簿中

或者是將文字寫在程式中

點一下即可複製文字到剪貼簿上

請問用 vb 這樣應該如何寫 ?

Update:

可是我貼 Clipboard.SetText Command.Caption 在 Command1 上面

點下按鍵

他會跳出 執行階段錯誤 '424':

此處需要物件

Update 2:

現在可以複製內容了

可是如果我要再複製其他的按鍵

貼出來的會是原本的文字

這有辦法解決嗎

Update 3:

不不不,我的意思是這樣

例如:

Private Sub Command1_Click()

Clipboard.SetText "1-020-120-"

End Sub

Private Sub Command10_Click()

Clipboard.SetText "1-040-140-"

End Sub

我點完 Command1之後

他會複製 1-020-120-

但是如果我要再複製 Command10

我點一下再貼上

他還會是 Command1 的內容

我還是必須先做一個 清除剪貼簿的按鍵

才能再點複製貼上 才會是 Command10 的內容

Update 4:

有,我昨天試出來了,

就是在每行前面多一個清除語法,

非常感謝 <3

可是現在又有另外一個問題

因為我上面有打一些繁體字

可是東西會拿去大陸使用

會有亂碼的情況發生

若是直接用簡體字來打

他也會變成問號問號

Command 有沒有辦法改編碼

或是語系可以改什麼的 Orz

Update 5:

雖然有點麻煩

不過好像也只能這樣

那邊好像沒什麼人會用 vb 阿 ....

3 Answers

Rating
  • 天涼
    Lv 7
    7 years ago
    Favorite Answer

    剪貼簿在 VB6 的語法是

    Clipboard.SetText 文字內容 (或變數)

    假設按鈕的物件是 Command1 , 那就是

    Clipboard.SetText Command.Caption

    假設按一下按鈕就會把按鈕上的文字複製到第二個按鈕的文字

    程式如下

    Private Sub Command1_Click()

    Clipboard.SetText Command1.Caption '複製第一個按鈕上的標題文字

    Command2.Caption = Clipboard.GetText '貼上到第二個按鈕的標題文字

    End Sub

    2013-08-07 14:30:30 補充:

    要複製別的內容一樣要重新做複製再做貼上啊

    例: 按第二個按鈕時會把文字方塊1 的內容貼到文字方塊2 裡頭去, 那就如下列程式

    Private Sub Command2_Click() '注意: 這是按第二個按鈕的程式段不按第一個按鈕哦

    Clipboard.SetText Text1.Text

    Text2.Text = Clipboard.GetText

    End Sub

    2013-08-07 20:07:17 補充:

    還是有點看不懂

    不過如果是貼上就清除剪貼簿內容, 只要加上 Clipboard.Clear 指令就可以了.

    例:

    Private Sub Command2_Click()

    Clipboard.SetText Text1.Text

    Text2.Text = Clipboard.GetText

    Clipboard.Clear '貼上完成就清除剪貼簿內容

    End Sub

    2013-08-07 20:15:33 補充:

    我看懂了, 可是我這邊試了兩三次, 都沒有您說的情況呢

    只要按 Command1 就會複製 1-020-120-

    改按 Command10 就會複製 1-040-140-

    反複按過兩個按鍵,都沒錯誤

    要不然就增加一個獨立清除剪貼簿的按鍵好了, 只是有點奇怪.

    例: 第11按鈕為清除剪貼簿內容按鈕

    Private Sub Command11_Click() '清除剪貼簿內容

    Clipboard.Clear

    End Sub

    2013-08-07 20:18:00 補充:

    錯了錯了, 真的是畫蛇添足, 只要複製前先清空就成了

    例:

    Private Sub Command1_Click()

    Clipboard.Clear

    Clipboard.SetText "1-020-120-"

    End Sub

    2013-08-08 10:47:47 補充:

    繁簡的問題,我試過了WORD繁轉簡再貼回VB,可能是無解的.

    可能要請對方安裝 Microsoft AppLocal 看看, 或者重新安裝簡體版WINDOWS, 再不然就是把您的 VB 及程式帶過去, 利用當地電腦改簡體字版再重新編譯.

    2013-08-08 10:59:03 補充:

    臨時想到如果您把要複製的文字及所有繁體字標題都存成外部檔案,然後執行程式時先把外部檔案讀進程式.

    如此一來,程式及附加的文字檔到了大陸,只要請當地人改成簡體字內容不就得了.

  • 樹哥
    Lv 5
    7 years ago

    Private Sub Command1_Click()

    Text1 = Command1.Caption

    End Sub

    Private Sub Command2_Click()

    Text1 = Command2.Caption

    End Sub

  • chu
    Lv 4
    7 years ago

    我猜你的意思應該是不想按到其他的去複製到吧

    最簡單的就是判斷剪貼簿為空的時候執行複製到剪貼簿動作

Still have questions? Get your answers by asking now.