標題:
[發問]
(已解答,G大謝謝)如何讓自訂表單關閉後暫存,開啟後繼續作業?
[打印本頁]
作者:
av8d
時間:
2012-6-14 13:20
標題:
(已解答,G大謝謝)如何讓自訂表單關閉後暫存,開啟後繼續作業?
本帖最後由 av8d 於 2012-6-14 16:20 編輯
一般自訂表單關閉後~重新開啟~資料都會消失~
如何讓他可以暫存~該如何寫?
作者:
GBKEE
時間:
2012-6-14 13:35
回復
1#
av8d
表單.Hide
Hide 方法 隱藏一個物件但不載出。
作者:
dafa
時間:
2012-12-8 00:29
回復
2#
GBKEE
G大您好
如果我想要我的表單以及表單內的按鈕、的Picture圖,在Excel關閉後再開啟,所有的Picture圖都還在
請問要如何解決?
作者:
GBKEE
時間:
2012-12-8 08:24
回復
3#
dafa
Picture 須是已存檔
是這樣嗎?
'Initialize 事件 發生在一個物件載入後,但尚未顯示的時候。
Private Sub UserForm_Initialize() 'UserForm的預設事件
UserForm1.Picture = LoadPicture("D:\EX1.GIF")
CommandButton1.Picture = LoadPicture("D:\EX2.GIF")
'CommandButton2.Picture = LoadPicture("D:\EX3.GIF")
'CommandButton3.Picture = LoadPicture("D:\EX4.GIF")
End Sub
複製代碼
作者:
dafa
時間:
2012-12-8 20:46
回復
4#
GBKEE
G大我也是用這個方法
但還是不行附上我拼裝的檔案看有沒有其他的方法
麻煩妳了
作者:
GBKEE
時間:
2012-12-9 07:35
回復
5#
dafa
按下表單按鈕 執行 sub 植物() 讀取 圖檔 正常
可以啊,為何不行!!
作者:
dafa
時間:
2012-12-9 07:52
本帖最後由 dafa 於 2012-12-9 07:54 編輯
回復
6#
GBKEE
很抱歉可能是我解釋的不清楚(不擅表達)
我讀檔都OK但只要Excel關閉,在次打開Excel我在按鈕挑選的圖就都變不見了
我想要我再次打開Excel時能保留所有上次在按鈕上挑的圖
再麻煩您了...........乾恩喔 ^^||
作者:
c_c_lai
時間:
2012-12-9 07:53
回復
6#
GBKEE
回復
1#
av8d
回復
5#
dafa
GBKEE 版大, 早安!
他們指的會是?
Private Sub Workbook_Open()
' For example purpose only.
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' For example purpose only.
Me.Save
End Sub
複製代碼
作者:
GBKEE
時間:
2012-12-9 11:41
回復
7#
dafa
為何要那麼多的CommandButton?用何邏輯建立?
作者:
dafa
時間:
2012-12-9 12:32
回復
9#
GBKEE
我的目的是要依Userform做底圖CommandButton點時可以挑選某些特定圖檔來拚出底圖
CommandButton本身是一個一個貼上去的沒有跑程式
如果那麼多的CommandButton做到一半沒做完不能存檔會很困擾
我找了很久好像沒什麼方法可以存檔
好像除非把所有CommandButton對應儲存格再存入對應的檔名才能解決
作者:
GBKEE
時間:
2012-12-9 14:04
回復
10#
dafa
須是你說的:
把所有CommandButton對應儲存格再存入對應的檔名才能解決
檔名存於Sheets("工作表1")裡才能如你所願
請修改GW4501表單UserForm_Initialize程式碼 如下
Option Explicit
'Public dw 'GW45011表單不須宣告: [Module1]模組已宣告過
Public Sh As Worksheet '須新加公用變數 [TheButton] 模組才可引用
Dim ButtonClass() As New TheButton
Private Sub UserForm_Initialize()
Dim E As Control, i As Integer
Dim hWnd, tPath, oo
GW4501.Height = Sheets("工作表3").Cells(3, 7) / 5
GW4501.Width = Sheets("工作表3").Cells(3, 2) / 5
hWnd = GetForegroundWindow
tPath = ActiveWorkbook.Path & "\底圖\"
'tPath = Application.GetOpenFilename("EXCE檔(*.XLS),*xls")'
[c1] = tPath
oo = Dir(tPath)
If oo = "" Then
MsgBox "你底圖資料夾內沒放進圖檔"
End
Else
[c2] = tPath & oo
GW4501.Picture = LoadPicture(tPath & oo)
End If
'ButtonClass變數設定為 New TheButton物件類別模組
Set Sh = Sheets("工作表1") '工作表儲存圖表路徑
With Sh
For Each E In Me.Controls
If InStr(E.Name, "CommandButton") Then
i = i + 1
ReDim Preserve ButtonClass(1 To i)
Set ButtonClass(i).Button = E '指定 TheButton.Button(i) 的物件
'*** CommandButton對應儲存格再存入對應的檔名 ***
E.ControlTipText = Cells(i, "A").Address(0, 0) & ":"
If Dir(.Cells(i, "A").Text) <> "" Then
E.Picture = LoadPicture(.Cells(i, "A").Text)
E.ControlTipText = E.ControlTipText & .Cells(i, "A")
'CommandButton的ControlTipText= .Cells(i, "A")的列名及內容(檔名)
End If
End If
Next
End With
End Sub
複製代碼
請修改TheButton模組內
Option Explicit
Public WithEvents Button As MSForms.CommandButton
Private Sub Button_Click()
Dim S
S = Split(Button.ControlTipText, ":")
If S(1) = "" Then
Call 植物
Button.Picture = LoadPicture(dw)
Button.ControlTipText = Button.ControlTipText & dw
S = Split(Button.ControlTipText, ":")
GW4501.Sh.Range(S(0)) = dw
'CommandButton對應的儲存格存入: 檔名
dw = ""
End If
End Sub
複製代碼
作者:
dafa
時間:
2012-12-9 14:29
回復
11#
GBKEE
感謝G大不辭辛苦地幫我解答
我目前上班中
下班回家再試試看
感恩喔~
作者:
dafa
時間:
2012-12-10 00:18
回復
11#
GBKEE
感謝G大
終於用好了
但程式還要消化一下
物件模組還是搞不懂使用時機還有好處在哪?
為什麼物件模組那麼少見到人家在使用?
還是謝謝你的熱心^^
作者:
GBKEE
時間:
2012-12-10 07:46
本帖最後由 GBKEE 於 2012-12-10 07:52 編輯
回復
13#
dafa
為什麼物件
類別
模組那麼少見到人家在使用
大多使用到大量的相同物件或是用程式碼建立的物件: 做同樣的功能,就不必在每一物件模組中寫下程式碼,
如果是 物件 是Sheet (工作表)或Workbook(活頁簿),那ThisWorkbook模組中 Workbook預設事件程式: 就是 該
物件類別模組
作者:
dafa
時間:
2012-12-11 00:37
回復
14#
GBKEE
感謝G大讓我又學到了
謝謝~
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)