При этом адреса обрезаются и сравниваются без учета регистра:
.To = Worksheets("MyData").Range("R2").Value
.CC = ""
Dim check As Variant
For Each check In Split("yyy@gmail.com; zzz@gmail.com; aaa@gmail.com", ";")
If Not InStr(1, .To, Trim(check), vbTextCompare) > 0 Then _
.CC = .CC & "; " & check
Next check
Как первоначально формулируется, Вы уже ответили на свой собственный вопрос. Для открытия "nul" файла Вы просто указываете "nul"
когда Вы звоните CreateFile
. Это только выглядит странным, потому что едва ли кто-то когда-либо использует то имя файла. (Я не вижу, что это использовало почти так часто, как я вижу /dev/null
.) Это совершенно допустимо, все же.
Но если Вы нашли это Invalid_Handle_Value
работы также затем идут вперед и используют это вместо этого. Это является, конечно, самым легким. Я не ожидал бы, что это будет работать, первоначально, так как я не буду ожидать, что это будет duplicable.
Да, "nul" делает то, что Вы думаете. Если Вы переместитесь в Unix, то это будет "/dev/null". Броское имя является пережитком со дней DOS, наряду с "prn" и "com1", и т.д.
Используя INVALID_HANDLE_VALUE
с DuplicateHandle является неподходящим: документация указывает, что Вам нужно PROCESS_DUP_HANDLE
право доступа на дескрипторе. У Вас нет этого righton INVALID_HANDLE_VALUE
. Устройство NUL
(символьная ссылка на /device/null
) будет хорошо работать, все же.