我目前正在使用Excel为我的办公室设计一个检查列表,它要求用户将需要保存在与此检查列表相同的文件夹中的4-10个文档保存在任何地方。我认为,使用用户表单将所有内容合并到一个Excel文件中可能更容易。我注意到使用用户表单存储数据是不安全的,而是使用它来显示或操作电子表格中的数据或单元格。
不幸的是,我无法将这些文件中的所有原始数据存储到一个单元格中,因为它们可能是相当大的文件。我想也许最好用一个ActiveX Textbox来存储这些数据,但我想知道这是否会在以后引起问题,或者其他人的电脑不兼容。
这是将数据存储在ActiveX文本框中的辅助电子表格(将被隐藏)。

下面显示该数据的用户表单,存储在ActiveX文本框中的辅助电子表格中。

博士
一切正常,但我的主要问题是.这是最好也是最安全的(最安全的,丢失数据的可能性最低).我不担心安全性,因为所有的东西都存储在服务器上)使用嵌入式TextBoxes将所有这些数据存储在一个文档中?如果没有,那么什么是好的选择呢?
关闭用户窗体时运行的代码。
Private Sub btnSaveAndClose_Click()
Sheets("Data").TextBox1.Value = PO850Data.Value
Sheets("Data").TextBox2.Value = Invoice810Data.Value
frmEDIData.Hide
End Sub打开用户窗体时运行的代码。
Private Sub UserForm_Initialize()
btnSaveAndClose.SetFocus
PO850Data.Value = Sheets("Data").TextBox1.Value
Invoice810Data.Value = Sheets("Data").TextBox2.Value
End Sub示例EDI 850文档- (X12格式)
ISA*01*0000000000*01*0000000000*ZZ*ABCDEFGHIJKLMNO*ZZ*123456789012345*101127*1719*U*00400*000003438*0*P*>
GS*PO*4405197800*999999999*20101127*1719*1421*X*004010VICS
ST*850*000000010
BEG*00*SA*08292233294**20101127*610385385
REF*DP*038
REF*PS*R
ITD*14*3*2**45**46
DTM*002*20101214
PKG*F*68***PALLETIZE SHIPMENT
PKG*F*66***REGULAR
TD5*A*92*P3**SEE XYZ RETAIL ROUTING GUIDE
N1*ST*XYZ RETAIL*9*0003947268292
N3*31875 SOLON RD
N4*SOLON*OH*44139
PO1*1*120*EA*9.25*TE*CB*065322-117*PR*RO*VN*AB3542
PID*F****SMALL WIDGET
PO4*4*4*EA*PLT94**3*LR*15*CT
PO1*2*220*EA*13.79*TE*CB*066850-116*PR*RO*VN*RD5322
PID*F****MEDIUM WIDGET
PO4*2*2*EA
PO1*3*126*EA*10.99*TE*CB*060733-110*PR*RO*VN*XY5266
PID*F****LARGE WIDGET
PO4*6*1*EA*PLT94**3*LR*12*CT
PO1*4*76*EA*4.35*TE*CB*065308-116*PR*RO*VN*VX2332
PID*F****NANO WIDGET
PO4*4*4*EA*PLT94**6*LR*19*CT
PO1*5*72*EA*7.5*TE*CB*065374-118*PR*RO*VN*RV0524
PID*F****BLUE WIDGET
PO4*4*4*EA
PO1*6*696*EA*9.55*TE*CB*067504-118*PR*RO*VN*DX1875
PID*F****ORANGE WIDGET
PO4*6*6*EA*PLT94**3*LR*10*CT
CTT*6
AMT*1*13045.94
SE*33*000000010
GE*1*1421
IEA*1*000003438这些文档可能要大得多,我要说,我们定期处理这个大小的10倍。每个TextBox将存储这些文档的数据之一。
发布于 2017-12-07 20:52:12
摘要:要使用VBA将数据持久化地存储在工作簿中,您可以使用以下几个选项:
Sheets("ArrayValuesWorksheet").Visible = xlVeryHiddenNames("MyArrayData") = myArrayThisWorkbook.CustomDocumentProperties中--参见https://stackoverflow.com/questions/17406585/vba-set-custom-document-propertyCommandBar中,希望用户找不到它Excel4(xlDefineBinaryName,...)和Excel4(xlGetBinaryName)我相信储存在一个隐藏的床单是最常见的。
https://codereview.stackexchange.com/questions/181091
复制相似问题