gpt4 book ai didi

vba - VBA 中作为类成员的类对象数组

转载 作者:行者123 更新时间:2023-12-02 07:16:54 25 4
gpt4 key购买 nike

我正在用 VBA 编写一个 Excel 宏,用于向图书馆顾客发送电子邮件,提醒他们资料逾期。数据来自电子表格,其中包含如下数据

UserID   Name        Email      Title    Author     Barcode Call Number Borrowed Date   Due Date
user2 Jones, Bob bob@jones Title1 A. Baker a0001 H00027C 11/23/2014 1/1/2015
user2 Jones, Bob bob@jones Title2 C. Dalton b0002 S00406R 11/23/2014 1/1/2015
user3 Smith, Mary bob@jones Title3 E. Franklin c0003 M00174R 11/23/2014 1/1/2015
user3 Smith, Mary mary@smith Title4 F. Gelt d0004 M00157G 11/23/2014 1/1/2015
user3 Smith, Mary mary@smith Title5 H. Ivers e0005 M00081G 11/23/2014 1/1/2015

我从用户定义的书籍和顾客类型开始,并为每个顾客提供了一系列书籍。我尝试将顾客传递给函数来生成电子邮件文本,但显然我无法将用户定义的类型作为参数传递。所以,现在我正在尝试上课。

我想要一个包含成员的 Book

Public book_title As String
Public date_borrowed As Date
Public date_due As Date
Public barcode As String
Public call_number As String

和一个包含成员的 EmailData

Public email_text As String
Public patron_name As String
Public patron_email As String
Public sender_email As String
Public book_list() As Book

其中 book_list 是一个 Book 对象数组,以及一个方法 sendEmail()

但是,这不起作用,因为显然我无法将 Book 对象数组定义为 EmailData 对象的成员。

那么,我的方法是什么?我听说过收藏。这会是一个解决方案吗?

最佳答案

根据我的评论,我会使用一个集合。以下是如何定义它并初始化它

Public book_list As Collection

'intitalize the collection in the constructor of the class
Private Sub Class_Initialize()
Set book_list = New Collection
End Sub

并使用它

book_list.Add <book>
dim bk as Book
set bk = book_list.Item(indexNumber)

关于vba - VBA 中作为类成员的类对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28309235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com