之前在这个帖子中讨论了使用VBA发送Lotus Notes邮件,那个帖子中还有些问题一直没有解决,例如签名。另外之前自己也认为不能使用Lotus Notes的UI操作,实际上是错的。
这里开一个新贴提供一些关于使用VBA操作Notes的例子,主要涉及Notes的邮件功能。使用的Notes版本是R9。如有不足的地方,希望大家补充。

1. 获取当前用户名
Sub GetUserName()Dim aNotes' 创建NoteSession对象Set aNotes = CreateObject("Notes.NotesSession")' 获取用户名MsgBox aNotes.UserNameSet aNotes = Nothing
End Sub2. 访问数据库
Sub AccessDataBase()Dim aNotesDim aDataBaseDim strTemp As StringSet aNotes = CreateObject("Notes.NotesSession")' 获取当前数据库Set aDataBase = aNotes.CURRENTDATABASE' 获取服务器上指定数据库'Set aDataBase = aNotes.GetDatabase("server/subfolder", "mail/yourname")' 获取本地联系人数据库'Set aDataBase = aNotes.GetDatabase("", "names")' 获取本地数据库'Set aDataBase = aNotes.GetDataBase("", "c:\work\temp.nsf")strTemp = "共有邮件:" & aDataBase.AllDocuments.CountstrTemp = strTemp & vbCrLf & "数据库标题:" & aDataBase.TitlestrTemp = strTemp & vbCrLf & "数据库文件:" & aDataBase.FilenamestrTemp = strTemp & vbCrLf & "数据库" & IIf(aDataBase.IsOpen, "已打开", "未打开")MsgBox strTempSet aNotes = NothingSet aDataBase = NothingSet aDocument = Nothing
End Sub3. 判断数据库是否打开
Sub OpenDataBase()Dim aNotesDim aDataBaseDim strTemp As StringSet aNotes = CreateObject("Notes.NotesSession")Set aDataBase = aNotes.GetDataBase("", "")If aDataBase.IsOpen ThenMsgBox "Is Open"ElseMsgBox "Not Open"End IfaDataBase.Open "", "c:\work\temp.nsf"If aDataBase.IsOpen ThenMsgBox aDataBase.Title & "已打开", , aDataBase.FilenameElseMsgBox "未打开", , aDataBase.FilenameEnd IfSet aNotes = NothingSet aDataBase = Nothing
End Sub
这种打开方式只是用来提供后续操作,并不是表示在Notes窗口中打开该数据库。4. 使用UIWorkspace对象打开指定数据库
Sub AccessUI()Dim aNotesUISet aNotesUI = CreateObject("Notes.NotesUIWorkspace")Call aNotesUI.OpenDataBase("", "c:\work\temp.nsf")Set aNotesUI = Nothing
End Sub
使用UIWorkspace对象则可以在Notes窗口中打开指定数据库。5. 根据模板创建本地邮件数据库
Sub CreateMailDatabase()Dim aNotesDim aDataBaseDim dbTempDim strTemp As StringSet aNotes = CreateObject("Notes.NotesSession")' 指定模板文件Set dbTemp = aNotes.GetDataBase("", "mail6.ntf")' 第一个参数指定服务器名称,如果为空表示生成本地数据库' 第二个参数表示数据库文件名称' 第三个参数表示是否继承未来的设计变化Set aDataBase = dbTemp.CREATEFROMTEMPLATE("", "TestDB", True)aDataBase.Title = "Just Test"Set aNotes = NothingSet dbTemp = NothingSet aDataBase = Nothing
End Sub
这样创建的数据库并没有添加到Notes的Workspace中,但在C:\Program Files\Lotus\Notes\Data目录下生成TestDB.nsf数据库文件。6. 连接UIDocument和Document
Sub ConnectUIandDoc()Dim workspace As ObjectDim uidoc As ObjectDim doc As ObjectDim db As ObjectSet workspace = CreateObject("Notes.NotesUIWorkspace")' 设置uidoc为NotesUIDocument对象Set uidoc = workspace.CURRENTDOCUMENT' 将NotesUIDocument对象赋给NotesDocument对象Set doc = uidoc.DOCUMENTSet db = doc.PARENTDATABASEMsgBox "Parent database: " & db.TitleSet db = NothingSet doc = NothingSet uidoc = NothingSet workspace = Nothing
End Sub7. 列出当前数据库中所有的文档(默认打开邮件数据库,列出所有邮件)。
Sub ListAllDocument()Dim aNotesDim aDataBaseDim aDCDim aDocDim i As IntegerSet aNotes = CreateObject("Notes.NotesSession")Set aDataBase = aNotes.CURRENTDATABASESet aDC = aDataBase.AllDocumentsDebug.Print aDC.Count                                                ' 所有文档总数Set aDoc = aDC.GETFIRSTDOCUMENT                                ' 获取第一个邮件i = 1While Not (aDoc Is Nothing)Cells(i, 1) = aDoc.GETFIRSTITEM("From").text                ' 发件人Cells(i, 2) = aDoc.GETFIRSTITEM("Subject").text                ' 标题i = i + 1Set aDoc = aDC.GetNextDocument(aDoc)                        ' 获取下一个邮件WendSet aNotes = NothingSet aDataBase = NothingSet aDC = NothingSet aDoc = Nothing
End Sub8. 列出收件箱中所有的邮件
Sub ListInboxDocument()Dim aNotesDim aDataBaseDim aViewDim aDocDim i As IntegerSet aNotes = CreateObject("Notes.NotesSession")Set aDataBase = aNotes.CURRENTDATABASESet aView = aDataBase.getview("($Inbox)")                        ' 获取收件箱Debug.Print aView.ALLENTRIES.Count                                ' 所有文档总数Set aDoc = aView.GETFIRSTDOCUMENTi = 1While Not (aDoc Is Nothing)Cells(i, 1) = aDoc.GETFIRSTITEM("From").textCells(i, 2) = aDoc.GETFIRSTITEM("Subject").texti = i + 1Set aDoc = aView.GetNextDocument(aDoc)WendSet aNotes = NothingSet aDataBase = NothingSet aView = NothingSet aDoc = Nothing
End Sub
可以使用Set aView = aDataBase.getview("($Sent)")获得发件箱。9. 列出当前数据库中所有的视图
Sub GetAllViews()Dim aNotesDim aDataBaseDim aViewDim j As IntegerSet aNotes = CreateObject("Notes.NotesSession")Set aDataBase = aNotes.CURRENTDATABASEj = 1For Each aView In aDataBase.viewsCells(j, 1) = aView.NameCells(j, 2) = aView.IsFolderj = j + 1NextSet aNotes = NothingSet aDataBase = NothingSet aView = Nothing
End Sub
如果是邮件数据库可以列出诸如收件箱、发件箱、草稿箱和垃圾箱等等视图的名称。10. 列出指定文档的所有Item。
Sub ListDocItems()Dim aNotesDim aDataBaseDim aDocumentDim aViewDim aItemDim iSet aNotes = CreateObject("Notes.NotesSession")Set aDataBase = aNotes.CURRENTDATABASESet aView = aDataBase.getview("($Inbox)")If (aView Is Nothing) ThenMsgBox "Inbox view don't exist!"ElseSet aDocument = aView.GETFIRSTDOCUMENTi = 1For Each aItem In aDocument.ItemsCells(i, 1) = aItem.TypeCells(i, 2) = aItem.NameCells(i, 3) = aItem.texti = i + 1NextEnd IfSet aNotes = NothingSet aDataBase = NothingSet aView = NothingSet aDocument = NothingSet aItem = Nothing
End Sub
这些Item构成一个文档或者说一个邮件,这些Item的内容也可以使用类似aDoc.GETFIRSTITEM("From").Text的方法来获取。11. 列出邮件正文中的所有嵌入对象,包括Excel工作表、附件等。(正文中嵌入的图片不知道怎么获得)
Sub ListItemofBody()Dim aNotesDim aDataBaseDim aDocumentDim aViewDim aItemDim oEmbSet aNotes = CreateObject("Notes.NotesSession")Set aDataBase = aNotes.CURRENTDATABASESet aView = aDataBase.getview("($Inbox)")If (aView Is Nothing) ThenMsgBox "Inbox view don't exist!"Else' 本例中只列出第一个邮件的嵌入对象Set aDocument = aView.GETFIRSTDOCUMENTSet rtItem = aDocument.GETFIRSTITEM("Body")Debug.Print rtItem.textIf (rtItem.Type = 1) ThenFor Each oEmb In rtItem.EmbeddedObjectsDebug.Print oEmb.Type & " " & oEmb.NameNextEnd IfEnd IfSet aNotes = NothingSet aDataBase = NothingSet aView = NothingSet aDocument = NothingSet aItem = Nothing
End Sub
其中嵌入对象的类型包括:
EMBED_ATTACHMENT (1454)
EMBED_OBJECT (1453)
EMBED_OBJECTLINK (1452)12. 搜索指定条件邮件
Sub SearchDocument()Dim aNotesDim aDatabaseDim aDCDim aDocDim i As IntegerDim dtSet aNotes = CreateObject("Notes.NotesSession")Set aDatabase = aNotes.CURRENTDATABASE' 指定日期Set dt = aNotes.CREATEDATETIME("03/03/10")Set aDC = aDatabase.Search("@Contains(Subject;""FW"")", dt, 0)'Set aDC = aDatabase.Search("@Contains(Subject;""FW"")", Nothing, 0)Set aDoc = aDC.GETFIRSTDOCUMENT()i = 1While Not (aDoc Is Nothing)Cells(i, 1) = aDoc.GETFIRSTITEM("From").textCells(i, 2) = aDoc.GETFIRSTITEM("Subject").texti = i + 1Set aDoc = aDC.GetNextDocument(aDoc)WendSet aNotes = NothingSet aDatabase = NothingSet aDC = NothingSet aDoc = NothingSet dt = Nothing
End Sub
aDatabase.Search("@Contains(Subject;""FW"")", dt, 0)表示搜索数据库中从dt所表示的日期开始的主题包含“FW"字符串的邮件。
语法:
Set notesDocumentCollection = notesDatabase.Search( formula$, notesDateTime, maxDocs% )
参数formula$:使用@function公式定义搜索条件;
参数notesDateTime:开始时间,如果设置Nothing则表示没有开始时间。
参数mxDocs%:返回的最大邮件数。设为0时表示匹配所有邮件。13. 下载附件
Sub GetAttachement()Dim aNotesDim aDataBaseDim aDocumentDim aViewDim rtItemDim oEmbSet aNotes = CreateObject("Notes.NotesSession")Set aDataBase = aNotes.CURRENTDATABASESet aView = aDataBase.getview("($Inbox)")If (aView Is Nothing) ThenMsgBox "Inbox view don't exist!"Else' 本例只是处理第一个邮件Set aDocument = aView.GETFIRSTDOCUMENTDebug.Print aDocument.GETFIRSTITEM("From").text                     ' 发送者Debug.Print aDocument.GETFIRSTITEM("Subject").text                  ' 主题Debug.Print aDocument.GETFIRSTITEM("posteddate").text               ' 发送时间Set rtItem = aDocument.GETFIRSTITEM("Body")If (rtItem.Type = 1) ThenFor Each oEmb In rtItem.EmbeddedObjectsIf (oEmb.Type = 1454) Then                                ' 附件类型Call oEmb.ExtractFile("c:\" & oEmb.Source)End IfNextEnd IfEnd IfSet aNotes = NothingSet aDataBase = NothingSet aView = NothingSet aDocument = Nothing
End Sub14. 设置签名档
Sub SetSignature()Dim aNotesDim aDataBaseDim aProfSet aNotes = CreateObject("Notes.NotesSession")Set aDataBase = aNotes.CURRENTDATABASESet aProf = aDataBase.GetProfileDocument("CalendarProfile")Call aProf.ReplaceItemValue("EnableSignature", "1")'Call aProf.ReplaceItemValue("SignatureOption", "1")'Call aProf.ReplaceItemValue("Signature_1", "In god we trust")Call aProf.ReplaceItemValue("SignatureOption", "2")Call aProf.ReplaceItemValue("Signature_2", "C:\test.jpg")Call aProf.ComputeWithForm(True, False)Call aProf.Save(True, False)Set aNotes = NothingSet aDataBase = NothingSet aProf = Nothing
End Sub
语句aProf.ReplaceItemValue("EnableSignature", "1")表示勾选“Automatically append a signature to the bottom of my outgoing mail messages"。"0"表示不勾选。
语句Call aProf.ReplaceItemValue("SignatureOption", "1")表示勾选“Text”。
语句Call aProf.ReplaceItemValue("Signature_1", "In god we trust")表示设置文本签名档内容。
语句Call aProf.ReplaceItemValue("SignatureOption", "2")表示勾选“HTML or Image File”。
语句Call aProf.ReplaceItemValue("Signature_2", "C:\test.jpg")设置HTML或Image文件路径名,也可以使用文本文件。15. 发送邮件时添加签名档
Sub SendEmailwithSignature()Dim aNotesDim aDatabaseDim aDocumentDim strSign As StringSet aNotes = CreateObject("Notes.NotesSession")Set aDatabase = aNotes.CURRENTDATABASEstrSign = aDatabase.GetProfileDocument("CalendarProfile") _.GETITEMVALUE("Signature")(0)Set aDocument = aDatabase.CREATEDOCUMENTaDocument.Subject = "test"aDocument.SendTo = "test@xxx.com"aDocument.Form = "Memo"aDocument.Body = "This is a test to using Signature." & VbCrLf & VbCrLf & strSignaDocument.SAVEMESSAGEONSEND = TrueaDocument.PostedDate = Now' 发送邮件'Call aDocument.SEND(False)' 保存邮件Call aDocument.Save(True, False)Set aNotes = NothingSet aDatabase = NothingSet aDocument = Nothing
End Sub
即使已经设置了签名档,使用NotesSession发送邮件时,邮件中仍然没有包括签名档,需要读取签名档内容并添加到正文中。这里只是读取文本内容的签名档。15. 发送带附件的邮件
Sub SendEmailbyNotesWithAttachement()Dim nNotes As ObjectDim nDatabase As ObjectDim nDocument As ObjectDim nRTItem As ObjectDim aSend As VariantOn Error GoTo errHandle' 使用数组表示多个接收者aSend = VBA.Array("test1@xxx.com", "test2@xxx.com")Set nNotes = CreateObject("Notes.NotesSession")Set nDatabase = nNotes.CURRENTDATABASESet nDocument = nDatabase.CREATEDOCUMENTnDocument.Subject = "Test"nDocument.SendTo = aSendnDocument.Form = "Memo"nDocument.SAVEMESSAGEONSEND = TruenDocument.PostedDate = NowSet nRTItem = nDocument.CREATERICHTEXTITEM("Body")Call nRTItem.AddNewLine(2)Call nRTItem.AppendText("This is a test mail with a attachement")Call nRTItem.AddNewLine(1)Call nRTItem.EMBEDOBJECT(1454, "", "c:\test.txt")Call nDocument.SEND(False)Set nNotes = NothingSet nDatabase = NothingSet nDocument = NothingSet nRTItem = NothingExit Sub
errHandle:Set nNotes = NothingSet nDatabase = NothingSet nDocument = NothingSet nRTItem = NothingMsgBox Err.Description
End Sub如果在Set nRTItem语句前设置nDocument.Body属性,代码将出错并提示“Rich text item body already exists”错误。下面的代码将出错。Set nDocument = nDatabase.CREATEDOCUMENTnDocument.Subject = "Test"nDocument.SendTo = aSendnDocument.Form = "Memo"nDocument.SAVEMESSAGEONSEND = TruenDocument.PostedDate = NownDocument.body = "This is a test using body"Set nRTItem = nDocument.CREATERICHTEXTITEM("Body")这时可以修改Set nRTItem语句来创建另外一个名称的RichText Item。如下:Set nDocument = nDatabase.CREATEDOCUMENTnDocument.Subject = "Test"nDocument.SendTo = aSendnDocument.Form = "Memo"nDocument.SAVEMESSAGEONSEND = TruenDocument.PostedDate = NownDocument.body = "This is a test using body"Set nRTItem = nDocument.CREATERICHTEXTITEM("Body1")
但是这样的结果是RichText Item中AppendText的内容不能显示,仅能显示附件。也可以将Set nRTItem语句移动到前面,如下:Set nDocument = nDatabase.CREATEDOCUMENTSet nRTItem = nDocument.CREATERICHTEXTITEM("Body")nDocument.Subject = "Test"nDocument.SendTo = aSendnDocument.Form = "Memo"nDocument.SAVEMESSAGEONSEND = TruenDocument.PostedDate = NownDocument.body = "This is a test using body"
代码仍能运行,同上例一样RichText Item中AppendText的内容不能显示,仅能显示附件。
这个方法有一个问题是正文中有两个相同名称的Item,一个是Text类型的Item,另外一个是RichText类型的Item。而Lotus的程序也是很奇怪,有GetFirstItem但没有GetNextItem。使用程序方法的话,程序限制只能获取第一个Item的内容,也就是Text类型的Item。要想获取第2个Item的内容,需要先删除第一个Item,然后保存Document,然后再使用GetFirstItem方法获取第2个 Item(现在是第1个了)的附件。所以建议不要使用相同名称的Item。17. 选择工作表范围发送邮件
Sub SendRange()Dim nNotes As ObjectDim nDatabase As ObjectDim nDocument As ObjectDim aSend As VariantDim rngSel As RangeDim doClip As DataObjectSet rngSel = Application.InputBox("请选择工作表范围:", "选择", , , , , , 8)If rngSel Is Nothing Then Exit Sub' 复制单元格内容到剪贴板rngSel.CopySet doClip = New DataObjectdoClip.GetFromClipboardApplication.CutCopyMode = FalseOn Error GoTo errHandleaSend = VBA.Array("test1@xxx.com", "test2@xxx.com")Set nNotes = CreateObject("Notes.NotesSession")Set nDatabase = nNotes.CURRENTDATABASESet nDocument = nDatabase.CREATEDOCUMENTnDocument.Subject = "Test"nDocument.SendTo = aSendnDocument.Form = "Memo"nDocument.body = "This is test which include a range selection from Excel" & vbCrLf & doClip.GetTextnDocument.SAVEMESSAGEONSEND = TruenDocument.PostedDate = NowCall nDocument.SEND(False)Set nNotes = NothingSet nDatabase = NothingSet nDocument = NothingSet dtClip = NothingExit Sub
errHandle:Set nNotes = NothingSet nDatabase = NothingSet nDocument = NothingSet dtClip = NothingMsgBox Err.Description
End Sub18. 将选择内容以图片方式发送
Sub SendFormatData()Dim aNotesUIDim aDocUIDim strTo As StringDim strCC As StringDim strSub As StringDim strBody As StringDim rngSel As RangeSet rngSel = Application.InputBox("请选择工作表范围:", "选择", , , , , , 8)If rngSel Is Nothing Then Exit SubrngSel.CopySet aNotesUI = CreateObject("Notes.NotesUIWorkspace")Set aDocUI = aNotesUI.COMPOSEDOCUMENT("", "c:\work\temp.nsf", "Memo")Set aDocUI = aNotesUI.CURRENTDOCUMENTstrTo = "test1@xxx.com"strCC = "test2@xxx.com"strSub = "test"strBody = "Here is a test with picture from Excel"' 设置Field的内容Call aDocUI.FIELDSETTEXT("EnterSendTo", strTo)        ' 收件人Call aDocUI.FIELDSETTEXT("EnterCopyTo", strCC)      ' CCCall aDocUI.FIELDSETTEXT("Subject", strSub)         ' 主题' 添加正文内容Call aDocUI.FIELDAPPENDTEXT("Body", vbCrLf & strBody & vbCrLf)' 将选择的内容复制到正文中Call aDocUI.GOTOFIELD("Body")Call aDocUI.Paste' 保存邮件Call aDocUI.Save' 发送邮件'Call aDocUI.Send(True)Application.CutCopyMode = FalseSet aDocUI = NothingSet aNotesUI = NothingSet rngSel = Nothing
End Sub
FieldSetText方法是设置文档中指定Field(也可以说是Item)的值,如果该Field中已经存在内容,则被覆盖。
FieldAppendText方法是在文档中指定的Field上添加内容,而不去除已有内容。如果复制图表的话,可以将
Set rngSel = Application.InputBox("请选择工作表范围:", "选择", , , , , , 8)
If rngSel Is Nothing Then Exit Sub
rngSel.Copy
修改成:
If ActiveChart Is Nothing Then Exit Sub
ActiveChart.CopyPicture xlScreen, xlPicture, xlScreen如果复制工作表中插入的图片的话,修改代码为(其中Shape需自己更改)为:
ActiveSheet.Shapes(2).Select
Selection.Copy
Lotus Notes Send EMail from VB or VBA
This ORIGINAL piece of code shows you how to mail direct from VBA or VB into lotus notes. Requires Lotus Notes Client 4.5.x or later is installed on your system.
As far as I can tell the Lotus Notes objects all have to be late bound otherwise you get errors. I have never found out the reason for this (the only thing I can think of is there is an error in the lotus notes api). Feel free to use this code,but if you do use it,please put a link from your site if you have one. Don't as many people have done blantantly rip it off and call it your own. I'm watching you and it's going to bite.
Point of note. Certain versions of 4.x client handle differently. If you get an error on the line MailDoc.CREATERICHTEXTITEM ("Attachment"),then try removing that line. In later versions of notes API this task is carried out by the previous line. Earlier versions required the call afterwards. Can't seem to fathom out the reason for that.
'Public Sub SendNotesMail(Subject as string,attachment as string,
'recipient as string,bodytext as string,saveit as Boolean)
'This public sub will send a mail and attachment if neccessary to the
'recipient including the body text.
'Requires that notes client is installed on the system.
Public Sub SendNotesMail(Subject As String,Attachment As String,Recipient As String,BodyText As String,SaveIt As Boolean)
'Set up the objects required for Automation into lotus notes
Dim Maildb As Object 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDbName As String 'THe current users notes mail database name
Dim MailDoc As Object 'The mail document itself
Dim AttachME As Object 'The attachment richtextfile object
Dim Session As Object 'The notes session
Dim EmbedObj As Object 'The embedded object (Attachment)
'Start a session to notes
Set Session = CreateObject("Notes.NotesSession")
'Next line only works with 5.x and above. Replace password with your password
Session.Initialize("password")
'Get the sessions username and then calculate the mail file name
'You may or may not need this as for MailDBname with some systems you
'can pass an empty string or using above password you can use other mailboxes.
UserName = Session.UserName
MailDbName = Left$(UserName,1) & Right$(UserName,(Len(UserName) - InStr(1,UserName," "))) & ".nsf"
'Open the mail database in notes
Set Maildb = Session.GETDATABASE("",MailDbName)
If Maildb.ISOPEN = True Then
'Already open for mail
Else
Maildb.OPENMAIL
End If
'Set up the new mail document
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.sendto = Recipient
MailDoc.Subject = Subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt
'Set up the embedded object and attachment and attach it
If Attachment <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454,"",Attachment,"Attachment")
MailDoc.CREATERICHTEXTITEM ("Attachment")
End If
'Send the document
MailDoc.PostedDate=Now() 'Gets the mail to appear in the sent items folder
MailDoc.SEND 0,Recipient
'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End SubIf you want to send a message to more than one person or copy or blind carbon copy the following may be of use to you.
MailDoc.sendto = Recipient
MailDoc.CopyTo = ccRecipient
MailDoc.BlindCopyTo = bccRecipient
Also for multiple email addresses you just set MailDoc.sendto to an array of variants each of which will receive the message. So
Dim recip(25) as variant
recip(0) = "emailaddress1"
recip(1) = "emailaddress2" e.t.cmaildoc.sendto = recip
Thanks must go out to
Mark Austin,Long Beach,California
assisted by the great folks at
www.deja.com & www.notes.net
for his help in finding the way to get the mailto appear in the sent items folder and his array method of sending the mail to more than one person.

VBS 对IBM Notes的常规操作相关推荐

  1. 图像腌膜Mask的常规操作你真的信手拈来吗?

    点击上方↑↑↑"视学算法"关注我 来源:公众号 行走的机械人 授权 我对图像腌膜的含义一直有些模糊,今天写了几行代码,证明了我这模糊的印象倒是正确的.今天借一个给图片添加水印的小例 ...

  2. 网工的常规操作:配置动态NAT

    网工常规操作:配置动态NAT 实验目的 1. 理解动态NAT的转换原理 2. 掌握动态NAT的配置方法 实验拓扑 实验需求 1. 根据实验拓扑图,完成设备的基本配置: 2. 在R2上创建Loopbac ...

  3. python如何从一个dataframe提取相应的行组成一个新的dataframe_Python|专题(1)——数据处理常规操作集(1)...

    大家好!好久不见!适逢国庆,先祝我亲爱的祖国七十周年生日快乐! 这一系列文章是针对最近在实习中做的一些数据预处理操作的整理.我们希望通过它们,带领大家了解和熟悉一些python做数据清洗,数据整合等的 ...

  4. unix 只有root 可以使用chown吗_chmod 777 是开发的常规操作吗?

    chmod 777 是开发的常规操作吗? 答案很明显:是的 nginx  403 Forbidden 给777权限试下吧? 文件没有写权限 给777权限试下吧? Supervisord 使用root用 ...

  5. ubuntu mysql 防火墙_mysql、ubuntu系统防火墙常规操作

    mysql.ubuntu系统防火墙常规操作 编辑:006     时间:2020-02-11 mysql: 数据库操作 连接数据库: mysql -u username -p 创建数据库: creat ...

  6. FTP服务器常规操作

    导读 FTP协议是Internet文件传输的基础,它是由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据.下面就由我给大家简单介绍一下 ...

  7. 快视频:剽窃了B站的数据库?360的常规操作了。

    转自:https://zhuanlan.zhihu.com/p/33887437 这些天,一些UP主惊讶地发现,在一款自己从未使用过的视频网站上,出现了自己的视频和同样用户的ID.更离谱的是,使用自己 ...

  8. OpenShift 4 - Fedora CoreOS (5) - CoreOS的常规操作

    <OpenShift 4.x HOL教程汇总> 文章目录 常规操作 查看CoreOS操作系统信息 查看网络配置 修改IP Docker 环境 podman 使用toolbox 什么是too ...

  9. Mongodb常规操作【一】

    Mongodb是一种比较常见的NOSQL数据库,数据库排名第四,今天介绍一下Net Core 下,常规操作. 首先下C# 版的驱动程序 "MongoDB.Driver",相关依赖包 ...

  10. 征服 Redis + Jedis + Spring (一)—— 配置常规操作(GET SET DEL)

    有日子没写博客了,真的是忙得要疯掉. 完成项目基础架构搭建工作,解决了核心技术问题,接着需要快速的调研下基于Spring框架下的Redis操作. 相关链接: 征服 Redis 征服 Redis + J ...

最新文章

  1. python编辑器安卓下载-Python的下载安装与Python编辑器的安装
  2. 结构型模式之Bridge模式
  3. Python3之Django Web框架中间件???
  4. freemarker写select组件报错总结(二)
  5. scrapy爬取某网站,模拟登陆过程中遇到的那些坑
  6. 一、IOC和DI的概念
  7. 最新图解 github 修改github地址 用户名
  8. tp3.2.3 命令模式
  9. 编译FREETYPE:VS2010错误MSB8008
  10. 悟透LoadRunner - 调用外部DLL的点点滴滴
  11. Firefox常用扩展
  12. python爬去微博签到数据_GitHub - fs6/weiboSpider: 新浪微博爬虫,用python爬取新浪微博数据...
  13. 京东羚珑页面可视化平台介绍
  14. python脚本检查文件内容
  15. PCIE实现PIO模式寄存器读写调试记录
  16. Nginx搭建文件服务器(解决无法下载文件.txt,.pdf等)
  17. 赛扬n5095处理器怎么样 英特尔n5095核显相当于什么水平
  18. 关于elasticsearch的一些问题总结
  19. 【UVM基础】uvm_resource_db 使用介绍
  20. 直方图都看不懂,怎么可能拍出好照片!

热门文章

  1. 机动车污染排放检验信息系统信息化建设目标及规范
  2. 如何在 7 分钟内黑掉 40 家网站?
  3. ubuntu的初始密码
  4. Swift 阳历转农历,农历转公历
  5. java中人民币的符号怎么打_打印机打印人民币符号¥
  6. php 开源系统(cms),30个很棒的PHP开源CMS内容管理系统
  7. java从网络Url中下载文件例子
  8. 计算机辅助英语听说考试系统,英语听说考试
  9. Taylor Swift为何听不到搜不到她的歌曲了?让我告诉你个好法子
  10. 服务器怎么用ftp传文件夹吗,ftp服务器怎么传文件夹吗