« first day (1637 days earlier)      last day (1543 days later) » 

00:00
RELOAD!
[bruglesco/fleet-command] 4 commits. 173 additions. 178 deletions.
[rubberduck-vba/Rubberduck] 2 commits. 2 opened issues. 5 closed issues. 18 issue comments.
So, the High-DPI issue
Tempted to put in a quick PR to just check a simple "Set DPI-unaware" general setting, which tries to call SetProcessDpiAwareness if available and logs if not as a quick band-aid, with the proper solution from @this to follow.
not sure I'll get time to get a full fix in if 2.3.1 is due to go out at the weekend
@mansellan Nope, I still got bugs after nuking a few times.
@IvenBach you need a bigger nuke.
LOL
Spoken like a cold warrior.
I've not use the Tzar Bomba yet, reformatting/new-box.
00:06
just a thought - it's not the PS issue that came up earlier?
(long shot)
You try nuking your VS cache too?
> Since I got a new computer (and maybe since I updraged to Office 365)...
"downgraded" is mis-spelled.
00:49
If Tools>NuGet Package Manager>Package Manager Settings is the same as going into the .nuget directory and clearing them out, and replacing them with yours. Yes. I did that the other day.
No, that's the NuGet cache. There's a VS cache in your user directory.
\AppData\Local\Microsoft\VisualStudio\15.0_whatever\ComponentModelCache‌​
Interesting, you can enable case-sensitivity on a per directory basis in Win10 now.
I might actually do that for my repositories directory.
That's about 30 years overdue.
It is in since April.
Apparently, it was in a bit longer but previously only worked through the subsystem for linux.
Oh, that's right. I keep forgetting about the linux subsystem.
That probably forced their hand.
01:05
Hmm. that might move me off Windows 7..... or maybe not.
0
Q: Document "Search Engine" in Excel

BasherI've created a somewhat "Brute-force search engine" based on a document's filename, as well as an additional keyword that describes the said document. I had to make one as my company's resources are a mess and not fully structured, so it's tough to search for a document using just the regular Win...

There was something about SQL Server 2016 that forced me off of Windows 7, but I can't remember what it was ATM.
ttgtb
01:08
'night
night!
@Comintern to run on machine? Not just using it as a client?
To run the server.
I'm OK-ish with having newer server OSes. I just don't know if I am ready to deal with the pain that is W10
01:11
Trust me, it can be a PITA.
Hence me hanging back.
hmm. does DllImport force the version?
MS treats it like their OS that happens to live on my machine.
IKR?
I'm not sure what it does if the dll being imported isn't found TBH.
Windows 7 didn't ship it though.
Thinking no. It should be like Declare - if it's not there, it won't prevent you from running the program
you just can't call the function, and AIUI, that's OK.
01:13
That's my instinct too.
Cos the High DPI thingee wasn't a thing back then.
I wonder if we have a Windows 7 user that can test it?
uh....
raises hand
01:26
[rubberduck-vba/Rubberduck] build for commit 33935a8c on unknown branch: AppVeyor build succeeded
@Comintern Clear everything out of there?
Yep, you can just delete the entire folder (close VS first).
nah. leave it open. be fun to see what VS does.
Hold files open so it can't be deleted?
I know that because I only remember to close VS when I'm advising that somebody else delete it...
Hrm... I think I may have already done that. Building.
Failed. Same errors.
01:29
OK, delete the .vs folder from your local RD folder (again, VS closed).
And to be clear, we're building something that's even with next, right?
I created fresh from next a day or two back.
Will the folder I delete be ...\repos\Rubberduck\.vs?
and another dumb q --- next as in RD's next and not your fork's next?
@IvenBach Yes. That's the one that holds your user state for the project.
I one-upped that. Deleted the entire RD directory and just pulled using git clone https://github.com/rubberduck-vba/Rubberduck.git
That's as clean a pull as I can manage.
:thumbs up:
01:38
Anything else prior to building?
cross fingers?
sarifice a goat
Assuming it doesn't interfere without your mousing.
Failed. Same errors.
Whinging about metadata, right?
Just immediately try another build. No clean, no rebuild.
01:42
Failed on immediate build. Did not clean or rebuild.
Did we ever determine why the parser wasn't building?
Don't think so.
Hmmm....
What .NET frameworks do you have installed?
Do I check via installer?
Under Office/Sharepoint development:
VSTO
Web Deploy
IntelliTrace
Easiest way is in the project properties. Just look to see what build targets are available.
It's in the Application section - the Target framework dropdown.
01:50
Do I check under Rubberduck.Main?
Doesn't matter.
It's going to be the same for any project.
.Net Framework 4.6
It has options for several others.
Hit the dropdown and check to see what other options are there (even the greyed out ones).
Hmmm.... no issues there.
Hell, I don't have half of those installed.
01:56
here's a silly idea
can you run installed RD?
because if you can install and run it, it would definitely rule out if there's any dumb pigs borking the .NET bits
I haven't tried installing an .exe version of RD. Last I recall that was causing a conflict.
That's been fully resolved?
you can uninstall
it's just to test and verify that the environment is sane, no more.
02:10
@this 2.3 release installs and is working. That's been ruled out.
Afk for a while.
so I guess the environment isn't totally insane. Would have been too easy.
02:25
@IvenBach the add-in can't be registered for two different paths, so there's no way around that one: release & debug builds don't co-exist
02:40
[rubberduck-vba/Rubberduck] MDoerner pushed commit 62c4bd29 to next: Add failing test for unexpected behaviour from issue #4558
Adjust tests for new IllegalAnnotations and annotation resolution specification

Currently, the what annotations are legal is not very intuitive. So, we will only put legal annotations on stuff. What is left are illegal annotations. This changes the counting for illegal references in identifiers and where the annotation sections for variables and members end.
Make tests pass for new annotation scoping design

Annotations only get scoped to recipients now for which they have a corresponding flag.
[rubberduck-vba/Rubberduck] MDoerner pushed commit 400ff2f8 to next: Remove no longer required part of IllegalAnnotationInspection
[rubberduck-vba/Rubberduck] MDoerner pushed commit 908e76e0 to next: Merge branch 'next' into FixIllegalAnnotationInspection
[rubberduck-vba/Rubberduck] MDoerner pushed commit 30583035 to next: Merge branch 'next' into FixIllegalAnnotationInspection
[rubberduck-vba/Rubberduck] MDoerner pushed commit fbbe89e4 to next: Replace backticks in ignored test
Merge pull request #4568 from MDoerner/FixIllegalAnnotationInspection

Fix illegal annotation inspection
I’m making progress and can figure some of it out myself: commitstrip.com/en/2018/08/10/an-unexplained-phenomenon
haha CommitStrip is always so excellent
02:57
I just finished the whole thing too.
I understand a bit more terminology thanks to them too.
they made a book last year, if you like 'em that much :)
I’m already :counts: at least 6-7 technical books behind right now.
03:11
^ didn't mean to do that
03:28
> Closing, as the raw keyboard & mouse hooks involved in 2.0-2.1 are no longer present - Rubberduck is now "listening in" to the VBE's message pump instead.
[rubberduck-vba/Rubberduck] build for commit b524fb73 on unknown branch: AppVeyor build succeeded
Self checkouts for fast food are great!
Whats your name? Rumplestiltskin
03:57
@Comintern re: DND frenzy - I just had a vision of a dialog showing all procedures of a module as draggable list items (templated to look wide & pretty) to reorder them. Okaying the dialog instantly reorders all members of that module accordingly
thoughts?
LOL - I had exactly the same thought, but dismissed it as craziness.
Drag a Sub to another module? No problem.
craziness?
"reorder members" is a full-fledged R# feature, no?
Think so. Never used it.
me neither
but, it's a good in-scope feature for RD I think
@Comintern "move" is also a R# refactoring
Not saying it's crazy or a bad idea, it's just that I dismissed it because of my tendency toward DRAG ALL THE THINGS!
04:00
(automatically updates all qualified call sites with the new module name)
(hmm, now moving to another class might pose a challenge)
TBH, there's a lot of potentially cool stuff you could do with dragging module element nodes.
The other thought I had was drag an interface onto a class to implement it.
oooooh
and we could even make it not work on document modules
> take a hint, you don't want to do that
^
Although, in theory, a standard module should be able to implement an interface.
I've never thought to check though...
04:04
hmm, worth an inspection actually. "Document module implements interface" -> "If you can read this message, remove that Implements statement before it's too late. Or don't. But don't say we didn't tell you."
04:15
> Making a worksheet module implement an interface is a very good way to crash Excel. Presumably, making *any* document module implement an interface has the same catastrophic side-effects.

Rubberduck can help.

> **Document module implements interface**
> Consider implementing that interface on a wrapper class instead. Making a document module implement an interface will lik**ely c***ause* a crą̵̯̠̦̟̍ͅs̶̟̈́̎͛h̴̝͔̰͕̜͉̋̆͊̀͋ of th**e hos**t a̶̟̖̩͛**p̴̛͚͔̎̄̓̕͠p̷̨̧͖̫͓̜͌͐͛̂͂̔͌l̴̢̙͇̖̯̣͛̋̆ḯ̴͚͕
@Duga bonus points for zalgo text easter egg
04:43
ttgtb
04:58
> @FuSoftware would you happen to have a repro/MCVE for that error? The bug is here:

var parameters = Parameters(procedure);

ParameterDeclaration parameter;
var namedArg = argExpression.GetAncestor<VBAParser.NamedArgumentContext>();
if (namedArg != null)
{
// argument is named: we're lucky
var parameterName = namedArg.unrestrictedIdentifier().GetText();
parameter = parameters.S
05:29
@Duga those not familiar with SO won’t get the reference.
 
2 hours later…
07:37
Now I'm heavily curious
Does reparsing actually reparse ?
> @retailcoder I've found worse things. Deleting modules until I find the error won't work. I found that if I delete all the code, add a single module with a single function, then reparse, nothing shows up in the Code Metrics. However, if after that I quit and restart Access and VBE, then the CodeMetrics sees stuff

I have to close MS Access, re-open it, re-open the VBE to test if the Code Metrics find something
> While debugging for github.com/rubberduck-vba/Rubberduck/issues/4564 , I found that reparsing the code didn't refresh the Code Metrics. Fully quitting MS Access was required for it to work again
07:56
@Elcan When you trigger a reparse, the ParseCoordinator determines the content of which modules has actually changed and only reparse those.
It also determines which modules need to be reresolved.
In any case, on a successful reparse we will always fire a state changed event for the change to resolved declarations and ready.
The CE and code metrics listen to these events to determine whether they should update.
As far as my testing goes, it doesn't reparse changed modules
At least for Code Metrics
If I have my broken base that makes it not work, delete all the code, add a new module with working code, and reparse, CodeMetrics still doesn't work
But if then I close and re-open MS Access, CodeMetrics works
08:28
> So far, I've been down to this. Put it in a form in a blank database, it hsould parse properly but yield no Code Metrics @retailcoder
```
Option Compare Database
Option Explicit

Private Sub Archivage_Click()

'Enregistre la facture dans feuille facturé archivé
Dim req As String, complement As String
Dim type_facturation As Integer

'Vérification que les champs nécessaires pour la requête soit remplit
If verifChampRemplie Then
req = "INSERT INTO [F
> So far, I've been down to this. Put it in a form in a blank database, it hsould parse properly but yield no Code Metrics @retailcoder
```
Private Sub Archivage_Click()
req = "INSERT INTO [Feuilles de facturation archivées] ( totalEnEuros,[clé de tri],num_etude,[Libellé étude],[Nbre à facturer],[Unité],[Semaine],[N° OT],[n° opération],[N°],[N° service],[Libellé facturation],[Mode de facturation],nom_resp_client,[Date de facturation],[année comptable],[Type de facturation],[déclenchement
> So far, I've been down to this. Put it in a form in a blank database, it hsould parse properly but yield no Code Metrics @retailcoder
```
Option Compare Database
Option Explicit

Private Sub Archivage_Click()
complement = "VALUES (" & Replace(nbHeureCalculer, ",", ".") & ",'" & cleDeTrie & "','" & numero_etude & "',""" & Libellé & """," & Replace([nombre d'heure], ",", ".") & ",'" & Unité & "','" & semaine_encour & "'," & numero_OT & "," & num_operation & ",'" & [N°_encour] & "','"
08:48
> So far, I've been down to this. Put it in a form in a blank database, it hsould parse properly but yield no Code Metrics @retailcoder

Edit : Found it !
```ompare Database

Private Sub Archivage_Click()
Dim i As Integer
Dim complement As String
i = 1
complement = "',""" & [Libelle] & ""","
End Sub
```

Replacing `complement = "',""" & [Libellé] & ""","` by `complement = "',""" & "a" & ""","` works. Looks like it fails on controls called with []
> So far, I've been down to this. Put it in a form in a blank database, it hsould parse properly but yield no Code Metrics @retailcoder

Edit : Found it !
```ompare Database

Private Sub Archivage_Click()
Dim i As Integer
Dim complement As String
i = 1
complement = "',""" & [Libelle] & ""","
End Sub
```

Replacing `complement = "',""" & [Libellé] & ""","` by `complement = "',""" & "a" & ""","` works. Looks like it fails on controls called with []. The other code wit
 
3 hours later…
11:28
> We've received an email to contact@ that included some useful starting points for Accessibility and SEO that may be worth looking into:

- Images without alt-text
- Pages without <meta> (honestly not sure how applicable that is
- 4xx status codes
- broken links
@Elcan CodeMetrics may take a second to update. if they don't that's a serious bug.
11:45
shouldn't there be a spinning ducks if it's updating?
The UI was reworked by Hosch... IIRC there should be, but I wouldn't count on my recollection
12:02
huh, no @Duga...
huh...
apparently she hit a block somewhere... she's not in her usual Testbed Room
12:22
I love it when IT forces a reboot over night. >:(
No, I didn't lose anything except my place...
12:42
@Vogel612 It doesn't
I systematically ave to exit Access and restart it, then reparse again with RD
Reparsing multiple times during the same Access "session" doesn't refresh Code Metrics
12:59
I'm getting:
2018-11-29 07:54:52.0137;ERROR-2.3.0.4235;Rubberduck.Parsing.VBA.ParseCoordinator;Unexpecte‌​d exception thrown in parsing run. (thread 68).;System.Runtime.InteropServices.InvalidComObjectException: COM object that has been separated from its underlying RCW cannot be used.
in my log again with an RD status of Unexpected Error. I thought that I saw a PR go by in the last day or two that dealt with that.
A) did I see one? B) was it supposed to fix this issue? C) Has it been pulled into Next & built yet?
I did just DL & install .4235 this morning - the latest build available.
@Duga @Elcan I'm more curious about how that stack trace came to be,...it doesn't look like it's related to code metrics at all
The only resolution is to close Excel & restart.
@FreeMan you did, it was, and it was....
It seems to happen after I close several workbooks in quick succession. RD tries to parse on close and chokes after several restarts
distracted by coworker asking about disappearing WebEx Outlook add-in
@MathieuGuindon Shall I open a new issue or should we go find the old one?
it seems WebEx slowed switching folders by 7.123 seconds so Outlook disabled it automagically
@FreeMan I couldn't find it
@FreeMan that actually makes a very good case for only dealing with one project at a time
13:18
as soon as I manage to trigger it again, I'll open a new issue
13:37
@MathieuGuindon Happened when CodeMetrics failed to render data afaik
Not sure if it's 100% linked though, but it was the only exception, when CodeMetrics failed
And the stack trace leads me to think it's linked to Code Metrics
> Split from here https://github.com/rubberduck-vba/Rubberduck/issues/4564

From this exception
```
2018-11-28 17:23:02.2408;WARN-2.3.0.4224;Rubberduck.Inspections.Rubberduck.Inspections.Inspector;System.InvalidOperationException: La séquence contient plusieurs éléments correspondants.
à System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
à Rubberduck.Parsing.VBA.DeclarationCaching.DeclarationFinder.FindParameterFromArgument(ArgumentExpressionConte
Huh how? It's an inspection, the failing .SingleOrDefault is in FindParameterFromArgument
..which is used by 3 inspections and nothing else
Thing is, that singleordefault failing implies a method successfully parsed & resolved ...with two or more same-name parameters.... which doesn't make sense.. unless... unless some caching is duplicating a parameter declaration somewhere
hmm
> This is also true for the VBE (Excel in my case).
Obligatory shouldiblamecaching.com here
13:46
grrr... just closed 4 workbooks in quick succession w/o erroring.
Dumb intermittent bugs that won't crop up on demand
@MathieuGuindon I like this better:
> There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.
14:03
@Duga I think the exception is entirely unrelated to both code metrics and the piece of code mentioned.
@MathieuGuindon I think the where clause is incorrect in FindParameterFromArgument. chat.stackexchange.com/transcript/message/47805984#47805984
I can only test when I am back home (no RD at work) but I think the problem is the other single or default in the procedure, as @Comintern had already hinted at.
@MathieuGuindon Why is that method reinventing the wheel?
And why does it ignore ByVal arguments?
The reference resolver already does the work to identify the called procedure and takes into consideration all the things like method shadowing.
You could simply use the _identifierReferencedBySelection dictionary to get to the called procedure.
14:30
Gotcha, ya lil bugguh!
14:43
> Win10, Excel2016 (desktop), RD .4235

Starting with one Excel file (A) open with a large VBA project, one Excel file (B) open with a very small VBA project, and 2 other Excel files (C & D) open with no VBA project (beyond the default `Option Explicit`) and the VBE open and parsed.

I saved all files that needed to be saved. I then closed file (B). I waited until RD status was `Resolving References` then closed (C) and (D) in fairly quick succession.

At some point during the process, th
@Duga @FreeMan This is the code it doesn't like:
> SLL mode failed while parsing the CodePaneCode version of module ReportWriting at symbol MidName at L431C70.
Is the code around ReportWriting line 431 something you can add to the issue?
That does not cause an UnexpectedError.
That should only be a warning since we recover from it anyway.
Ugly code incoming:
  While Not surveyListRS.EOF And Not surveyListRS.BOF
    Application.StatusBar = "BuildReport: Comments: " & surveyListRS!MidName
    PrintCommentRow Report, surveyListRS!clinicID, PCS, ClinicList, dbConfig
    surveyListRS.MoveNext
  Wend
It parses just fine otherwise...
Ah, dictionary access.
he's working on getting rid of the bangs... stoopid job keeps getting in the way...
14:50
As always.
and the While...Wend
That is hardly possible to do in SLL mode.
I need to tattoo "SLL failure != parser failure" on my arm or something.
That should not be a problem.
The tattoo or the error?
14:52
I had a lag of one message for the last two messages.
> And... it obligingly left me in `Unexpected Error` status on my next try! This time I had 3 no-code workbooks open (C, D & E). I closed (b), waited until it was `Resolving References`, then closed the other 3 (C, D & E) in reasonably quick succession.

Just for fun, here's the CE after I closed the last of them (the 2 named projects both start with `W`, but have unique names, never fear...):
![2018-11-29 09_58_39-microsoft visual basic for applications - satisfaction summary master v3 29 -
> And... it obligingly left me in `Unexpected Error` status on my next try! This time I had 3 no-code workbooks open (C, D & E). I closed (b), waited until it was `Resolving References`, then closed the other 3 (C, D & E) in reasonably quick succession.

Just for fun, here's the CE after I closed the last of them (the 2 named projects both start with `W`, but have unique names, never fear...):
![2018-11-29 09_58_39-microsoft visual basic for applications - satisfaction summary master v3 29 -
on the bright side, @Duga has had her coffee!
15:11
Nov 24 at 20:22, by Mathieu Guindon
So, the logic works - and I'm going to need to reuse it. Any objections to adding a ParameterDeclaration FindParameterFromArgument(...) method on the DeclarationFinder?
it's logic that is used/reused in inspections that are looking at an identifier reference in a procedure call and need to get the corresponding parameter for it, to determine whether it's a byref assignment
there was already something for that in the finder??
@Comintern gah, missed that one
@M.Doerner thanks, I'll do that
(and remove the ByRef filtering in there, the inspection can use the ParameterDeclaration to know whether it's byref)
> Win10, Excel2016 desktop, RD .4235

`Module '{x}' has no '@folder' annotation` inspection has one quick fix: "Ignore Once". Selecting that option has no effect on the code, but leaves this in the log:

> 2018-11-29 10:09:23.8414;ERROR-2.3.0.4235;Rubberduck.UI.Inspections.InspectionResultsViewModel;System.NullReferenceException: Object reference not set to an instance of an object.
> at Rubberduck.Inspections.QuickFixes.IgnoreOnceQuickFix.Fix(IInspectionResult result, IRewriteSession re
not sure how it could possibly interfere with code metrics though
15:32
I think it has nothing to do with code metrics.
Hm, actually it might.
that would be scary...
I will have to review where we catch the exception.
should be in the inspector
Then, it should not matter for the code metrics.
The fixes are entirely a different system than the inspector now, remember.
They go through a sort of quick-fix provider when the UI requests it.
15:34
But the exception we are talking about is in an inspection.
Oh, hmm
It is not the one from the last issue.
Stupid autocompletion.
@Duga I think the ignore quickfix will also fail for other module inspections.
great. they managed to bomb a recursive CTE, and the source records have no timestamp. as if I wasn't busy enough.
</rant>
So the Code Metrics bug is completely unrelated, and I accidentally found another bug ?
looks like it, yes
Can you delete my issue then ?
16:22
[rubberduck-vba/Rubberduck] Vogel612 did something with some project card
What I reported is about the initial CodeMetrics bug
[rubberduck-vba/Rubberduck] Vogel612 project card. Enough said.
nah, the issue/bug is legit
Yep. It's not like we're not going to fix it because of that.
The bug is, but my findings are unrelated to the exception
My findings are about CodeMetrics
One for you folk
3
Q: Different results for simple operations made with ranges or arrays

PsplI'm working with VBA for a very long time and I have quite experience with it. However, sometimes, it still blow my mind with his whimsicalities... In order to make a file with some accessible functionalities to all of my work colleagues, I chose to made every calculations on a script. To do so,...

"whimsicalities"? That's putting it mildly.
lol
16:27
Wow! I tried an array with 1'000'000 entries and the Application.Sum sums only the first 16960 elements... I think the limit depends on the array size... — Pspl 7 mins ago
@MathieuGuindon I'll investigate the exception when I can, then. I only investigated the CodeMetrics issue so far
more inclined to think it's about the pointer size and element type than array length
@MathieuGuindon That was what I was trying to investigate but lack the technical know how so left a somewhat lacking answer instead. Would be nice to see a decent answer.
no time for this atm though
No worries.
16:32
The second part of your answer is the real one anyway - Calling Application.Sum on a VBA array is the height of laziness.
^
I suspect the all-VBA sum is more efficient than Application.Sum anyway
...it's just delegating the loop to someone else
Someone else that apparently face plants on it.
@Elcan If you want to investigate the exception, could you try and put two standard modules in some project, both with a sub Foo with one parameter, one public one private? Then add code calling Foo in the module with the private one.
I would test it myself, but I have no RD at work.
@M.Doerner Gonna try that now
Nope, no exception. Both modules contains

Option Compare Database

Sub Foo(A As Integer)

End Sub
16:48
> This also throws just before the above exception. No idea if it's related though
```
2018-11-29 17:47:09.8742;WARN-2.3.0.4224;Rubberduck.Inspections.Rubberduck.Inspections.Inspector;System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à Rubberduck.Inspections.CodePathAnalysis.Walker.GenerateTree(IParseTree tree, Declaration declaration) dans C:\projects\rubberduck\Rubberduck.CodeAnalysis\CodePathAnalysis\Walker.cs:ligne 72
à Rubberduck.Insp
> This also throws just before the above exception. No idea if it's related though. Basically a NullReference exception
```
2018-11-29 17:47:09.8742;WARN-2.3.0.4224;Rubberduck.Inspections.Rubberduck.Inspections.Inspector;System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à Rubberduck.Inspections.CodePathAnalysis.Walker.GenerateTree(IParseTree tree, Declaration declaration) dans C:\projects\rubberduck\Rubberduck.CodeAnalysis\CodePathAnalysis\Wal
@Duga That also looks unrelated - that's in the AssignmentNotUsedInspection.
Too much stuff is throwing exceptions anyway
need a better roach motel.
By trying to make a MCVE I just create more exceptions
16:50
Need less roaches.
Need more roach exterminators
set up a posse of exterminators, surround the roaches and force them into the hotel, then set it ablazing. With extreme prejudice.
then nuke it from orbit
16:54
and again, just to be sure.
indeed
nuke it from orbit. with lasers. on sharks. twice. just to be sure.
I'm tempted to PR a banner comment on the MSDN Range.Find documentation that you have to test the return value for Nothing. 3 questions on SO already today alone.
not that anyone reads TFM anyway...
@Comintern and that's just those asking on SO
add to that those that On Error Resume Next and never even notice
16:58
The problem is the thousands of incorrect, buggy examples that everyone copies and pastes from.
the problem is that people copy-paste code from the internet
stupid Excel being "helpful" and converting a cell format to "date" when I enter a date string. :(
I need a bot that will search SO, run the RD Find inspection on the answers, and then down-vote comment all of them if they don't test for Nothing.
3

« first day (1637 days earlier)      last day (1543 days later) »