« first day (2077 days earlier)      last day (1103 days later) » 
00:00 - 19:0019:00 - 00:00

12:00 AM
RELOAD!
[rubberduck-vba/RubberduckWeb] 1 opened issue. 1 issue comment.
[Minesweeper] Games Played: 144, Bombs Used: 89, Moves Performed: 18174, New Users: 15
 
Past-Iven ignorantly used joins a decade ago. Made no sense to him then. Now the terminology means a lot more. Granted Access didn't teach me much with drag-n-drop-make-it-work coding.
mumble mumble Excel hiding mumble behind the curtain mumble...
 
strange that you blame Access since I first found out about joins via Access' drag'n'drop stuff
 
RELOAD!
[rubberduck-vba/Rubberduck] 2 issues opened. 3 issue comments
 
The critical part being ignorantly used joins. I hadn't a snowballs chance of actually understanding what was going on.
 
12:29 AM
@SmileyFtW disk fragmentation? slow or defective HDD? Export Project is really just iterating all components and exporting them - nothing special going on here. Are other I/O operations abnormally slow otherwise?
 
 
9 hours later…
9:07 AM
@Duga @MathieuGuindon Old @Duga webhook URL detected. Please update to the new one.
 
 
1 hour later…
10:31 AM
@SimonForsberg the main repository is already on the new one
 
 
3 hours later…
1:04 PM
@Vogel612 Main repository yes, but apparently not github.com/rubberduck-vba/RubberduckWeb
 
yea, I unfortunately don't have access to the settings over there..
 
Which is why I pinged @MathieuGuindon :)
I have by the way started working on duga.zomis.net - but it's not fully feature-complete yet. I think it allows you to view all the webhooks, but not change them.
 
1:35 PM
Bit of morning rush atm, I'll update it when I get to work =)
 
1:58 PM
Weird... In my Access code, I've got Set SurveyRpt = XLobj.Workbooks.Open(ExcelFileName). I've just double-checked to confirm that ExcelFileName is as expected and that the file exists.
I'm getting an error 1004 "Sorry, we couldn't find C:\Users\<user>\AppData\Local\Microsoft\Windows\INetCache\Cont Is it possible it was moved, renamed or deleted?"
That directory doesn't seem to exist, so I've got 2 issues:
1) Why does it no longer exist? (Will simply opening IE or Edge recreate it?)
 
hmm that's kind of a weird place to have your spreadsheet, isn't it?
 
2) Why does opening an Excel file need to access the IE cache location?
 
and how would the file exist if the directory doesn't?
 
Yeah, that would make sense if the file was there, but it's nowhere near there!
 
ah...
 
2:01 PM
The Excel file to be opened resides on the network, while that's a local machine thing.
 
would it work again if you copied to local hard drive?
 
It might
 
it might be that Excel is using it to cache the networked file, IDK.
 
I dunno why it's even attempting to access the "temporary internet files" directory when I'm attempting to open ...
ah, yeah, that could make sense.
 
(shared network isn't my forte so I'm just guessing)
 
2:02 PM
Jan 31 at 19:21, by FreeMan
yesterday, by FreeMan
23 hours ago, by FreeMan
2 hours ago, by FreeMan
2 mins ago, by this
#BlameMicrosoft
 
though if they were, I'd have hoped they wouldn't use internet explorer's cache...
 
that seems like a perfectly Microsoft thing to do, so I guess that could make sense.
Now, the question is why did the directory get deleted?
 
because you cleaned your drive? :)
Seriously, nothing about that feels right.
 
and weirder still - I tried to create an INetCache directory there but it tells me it already exists.
 
apparently it was a link in the spreadsheet that blew up
 
2:08 PM
This is lovely. Both my dev & production Excel workbooks are now corrupted.
OR... I can't even get to the Windows part of that path in PowerShell, so something else is funky
time for a reboot.
crosses fingers
 
I hope you have this handy:
Fit is very important, especially for boots.
 
ba-da-boom. Tish!
 
2:23 PM
very weird. After a reboot, I've still got the same issue
I can, however, CD to the INetCache directory if I type it all out. I cannot see it in a directory listing in Win Explorer or Powershell
since it seems to exist, starting IE or Edge doesn't attempt to recreate it.
and, it appears that the subdirectory and associated .mso file that it's looking to open with my XLSM file don't actually exist
and copying the xlsm from the network to MyDocuments seems to work, but a F5 of the directory shows that it seems to immediately disappear
 
2:53 PM
@FreeMan Microsoft Teams kept me up last night... nightmares about someone training a group yesterday who only knew how to use what they use in it, and he kept calling it "a child of SharePoint". I blame microsoft for the Teams debacle... ='/
 
@Cyril - deleted my comments on Copy
 
thanks for the heads up; removed my responses
but yes, i was previously under the impression that feature was specific to .move... great to know it works for .copy as well!
 
Yeah it's quite helpful
 
@Cyril that doesn't follow - Teams is a entirely different thing from SharePoint
we are also supposed to move to Teams away from SFB. Finger crossed that it actually works...
It's like saying Slack is a child of JIRA
 
whelp... it seems that the only solution was to restore the file from an earlier state.
at least it's now working...
 
2:57 PM
must have been borken real good!
 
yeah. there ain't no borken like Microsoft borken.
someone here works with Word on a regularish basis. All my knowledge (based on 5 minutes of DDGing) indicates that it's still not possible (in O365/2019) to do a mail merge to individual documents without involving VBA. Is that correct?
 
not unless you are willing to use a single table
some people avoid this by using a temporary table in Access that's denormalized & dumping the data into it then use that as the source for mail merge
 
not sure I'm following @this. This is a "hey, you know something about VBA, can you help me" project, so it's not mine. The data to be merged is in Excel. I've found some references to being able to save the output as a PDF then use a tool to split the PDF into pages.
Last time they asked about this, they only had the output of a merge someone else did, so I wrote some code to split out the individual pages into individual files.
This time, they're in control of the merge, so I figured there had to be a way of splitting it out during the merge process to eliminate any post-processing. I've found some code to do that, but there doesn't seem to be any native way of doing that within the merge setup itself.
What does having the data in a single Access table buy me that having it in Excel does not?
 
no VBA code?
I don't think Word's mail merge natively supports excel as the source
 
really? I recall (I think) doing that in 2001...
I can't imagine that the 1000s of people who do mail merges every day are firing up Access when they have all the database tools they need right there in Excel.
 
shows how little I know about Word's mail merge.
 
</snark>
 
3:31 PM
TBH, I found it annoying even though I had data in Access.
 
well, 2001 was the last time I really did mail merges...
 
@MathieuGuindon Relatively new machine, but I'll check the health of everything. The thing that gets me is that it is very fast when I first open the Excel file, but seems to deteriorate during a session. Hence, I'm not leaning to a hardware issue as the culprit
And a happy day today. Just upgraded my third monitor from a 20" to a 27".... woo hoo!
 
@SmileyFtW always a nice feeling. 3x27"... you must have a large desk!
 
that's what my wife says... oh, sorry you said "desk"
 
lol
 
3:40 PM
Not quite 3x27.... 2x27 + 1x 23
but yeah.. nice...
 
#Overcompensation?
:)
 
hahahaha... mebbe
 
sigh In good old days, it was sports car. Now it's all more complicated. Now it's about screens.
 
ha
now it's sports cars with screens. I mean, they don't bill the Tesla as a sports car, I guess because 0-60 in 2.4 seconds is, frankly, hypercar territory, not sports car. And those things have screens everywhere. Rather stupidly, IMNSHO.
 
Ok, that's a scary thought --- no windshield; just a giant screen
 
3:47 PM
Still Harleys and Jeeps for me... screens are a convenience <G>
 
@this Well, Teams is just an interface, built on a web-browser (i think MS used Chromium, similar to their next installment of Edge or whatever will be on Chromium) to interface with a SharePoint site, incorporate Lync (Skype, whatever), and other Office tools
 
What?
 
as it's still actively being developed, i'm not really up for it
 
so you can use the SP site off the teams? That's news.
 
yes
 
3:51 PM
we've only been using it as basically Slack #2
 
it's a glorified web browser that accesses what MS wants you to access (thinks that have an Account with them)
 
there's been talks about replacing Slack with Teams but.... Not sure that will ever happen given the Teams' less than stellar history
 
that's what it has become since 2018 changes to the basic infrastructure, and with the recent 2019Q4 change to not actually incorporate Skype (they are intending to leave Lync/Skype modules in their own space which will be called/accessed) as part of the basic infrastructure due to the other development issues... that "may" come later
i pulled up the roadmap while in that training, cringing the whole time
 
what?
so they are not replacing Skype w/ Teams? confused
 
Skype is being replaced by Teams
 
3:56 PM
then I didn't parse this part: they are intending to leave Lync/Skype modules in their own space which will be called/accessed
 
Microsoft had Lync (and subsequently Lync365) back in ~2010; when they acquired Skype, they basically rewrote a bunch of assets for Lync to fit the Skype model (which is why the system files still reference Lync). Because they did that, and as I read in a blog about the situation, it's spaghetti and de-tangling that would be too much time/effort, they are going to leave those in the background
 
 
so they won't allow you to open those as standalone applications anymore, they are only accessible via Teams; the plan was that Teams was going to have its own chat system that replaced those completely
@this Exactly
 
Yeah that's what I thought - they would do away with Skype / Lync altogether.
But based on what you're saying, they're just going to mutate Teams into a three-headed frankenstein of a chat system. Sure, the 2 other heads are sleeping but it's still a frankenstein.
 
@Cyril wait, so Skype as a stand-alone program is going away? Completely? So I won't be able to use it to see my grandkids?
Trust me. Having MS own Skype is annoying enough, I won't use any sort of Teams server to personal family conversations.
Of course, finding a reasonable, stand-alone, not owned (read: data-mined) by a mega-corp, communication platform of any sort is darn near impossible these days.
 
4:09 PM
WhatsApp? Is it data-mined?
Though I don't trust FB
 
It's owned by... someone large now. I wouldn't be surprised.
 
It's owned by FB but I believe it has end-to-end encryption
 
@FreeMan Pretty sure it won't.
We've been talking about SFB.
@BigBen ah, but who's holding the line? ;-)
 
@this "won't" be available as a stand-alone, or "won't" be taken down as a stand-alone product?
@BigBen does it still have end-to-end encryption? Being owned by FB doesn't give me confidence.
 
@FreeMan the latter
 
4:12 PM
(i.e., what this said)
@this that's good to know. MS would shoot themselves in the foot if they did. People would have to switch to Google's Duo in order to have a Facetime alternative for non-iOS users. Of course, MS has shot themselves in the foot before...
 
wait, you speak as if they still have foot....
 
@this is fine. :D
 
why, yes, I am!
 
@this yeah, well, giving them the benefit of the doubt. They hire people pretty regularly, and what with the popularity of all the gun-control, magazine size regulations being passed, it takes a while to shoot 'em all in both feet.
 
WhatsApp and TickTock are backed by the Chinese gov, I believe. The latter is known for certain. I wouldn't trust that.
 
4:19 PM
git question: I've got an XLSM file that I've had to restore from an older version. Of course, code changes have disappeared.
 
@FreeMan My understanding is that yes, Skype for Business is going away. That is a separate product from Skype standalone, which does not require the Office platform.
 
How to I restore/reapply the git commits that happened between the version I restored and the current state?
@Cyril good news. ish. thanks
 
np; sorry for forgetting that those were separate until it got down to freaking you out!
 
@Cyril if that's actually true for WhatsApp, then I have 0 confidence at all in it's "end-to-end" encryption. However, I understood that it's been somewhat independently verified as being legit.
 
The articles I can find on the topic are older, back when they were actively letting governments into their backside to review and track people (2017 and before)
 
4:22 PM
pay someone else enough moolah and you get the endorsement.
 
I don't see anything in 2019q3/q4 or now
 
I think I've found the commit that I need to get reapplied. How do I do so?
 
After all, back in 20s, 30s (maybe more later?) doctors were wholeheartedly endorsing cigarettes as promoting health.
 
before that, they were promoting blood-letting as promoting health, too. What do doctors know?
 
When you are bound by contemporary socio-political constraints, you can only "prescribe" what is allowed
 
4:25 PM
@Cyril I very much doubt WhatsApp is backed by the Chinese government; you cannot even use it in China.
 
@FreeMan that there's lot of money to be made?
 
@M.Doerner I'm in agreement with you, but just because they won't their own citizens use it doesn't imply that they're not interested in spying on other countries citizens.
@this not no more there isn't
 
@FreeMan pretty sure I haven't seen any doctor standing on a street with a cardboard "will doctor for food"....
 
@M.Doerner after it was bought by Facebook, which is blocked in China, I believe WhatsApp was still allowed on phones as a standalone application (going by recollection, so grain of salt). Before it was bought, there were many issues where China was getting into the data for it (I think there's a CNN article that caused China to attempt to Discredit CNN which came out in 2016 or 2017)
 
Yeah, but they don't make the money now like they used to. Maybe better than the average bear, but not wealth. #WorksForHospitalSystem #HearsTheComplaints
 
4:29 PM
The application may have been blocked since then
i have to look at when it was bought
oh, looks like it hasn't worked since end of 2017* edited... nice
people are using VPN to still access it, though
 
@FreeMan Interesting. Last time I read on the subject, it reported that a good % of private doctors make extra money on the kickbacks they get from the pharmas.
 
@this which has been outlawed in many places... yet the "gifts" keep coming, so things are still pushed
 
4:43 PM
@this yeah. Illegal as all get out. Doesn't mean it's not done.
good lord. Excel is really, really, really messin' with my day
 
='/ what's buggin for you today?
 
@FreeMan it gotta to excel in something. Apparently bugging you is it.
 
After some sleuthing, I've discovered that I've actually got the fixed code as my most recent export, so I imported it. When I tried to save, Excel puked an error saying it couldn't save it properly. So I saved it to an alternate directory, just to be safe. It puked trying to save that copy.
The good news is that this one completely build the worksheets it needs on the fly, so if I have to, I can start with a completely blank workbook and import the code.
but first. lunch.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5384?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request head (`LetDeclarationInspectionsUseBaseClasses@940eb7e`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-head-commit).
> The diff coverage is `n/a`.
 
4:58 PM
@M.Doerner I am a bit confused - why do we have both TProperties and then T like here? github.com/rubberduck-vba/Rubberduck/pull/5384/…
 
the alternative would be a generic base class, I guess
 
The generic function T Properties<T> needs to on the IInspectionResult interface.
 
hmm. are TProperties and T always the same?
 
should be
 
No
 
5:02 PM
huh
 
Oh, OK. I originally envisioned a non-generic class with only a generic member.
 
You can use any T, but only for TProperty you get something thet is not default.
If you only have a generic member, you will have to generate a different class for each different kind of property you want to provide.
 
but we don't know that from the IInspectionResult -- so TProperties is now just an implementation detail
 
What we could do is to not have the generic property on the interface IInspectionResult and force each consumer that needs the property to cast to IInspectionResult<T>.
 
which is basically what T Properties get us - it forces the consumer to specify the type.
Without that, it becomes implicit but consumers still has to do the casting anyway
 
5:06 PM
Yes, the generic TProperties just saves me from implementing a different class for each possible property.
 
It's just that looking at the class and seeing TProperties and T together threw me off
 
@this it's still better than a dynamic ctor argument
 
^
exactly
I would say it warrants a brief explanatory comment as to why there's a TProperties and a T type, though.
 
agreed
 
Actually, IInspectionResult<T> could not even extend IInspectionResult since the three non-generic result types would not implement it.
The generic ones have to inherit from the non-generic ones because we use reflection to distingush those.
 
5:09 PM
what are the 3 that aren't generic
 
DeclarationInspectionResult, IdentifierReferenceInspectionResult and QualifiedContextInspectionResult
 
[rubberduck-vba/Rubberduck] build for commit 940eb7e2 on unknown branch: AppVeyor build succeeded
 
The generic ones just derive from those and add the override for Properties<T>.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5384?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request base (`next@e7590af`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit).
> The diff coverage is `10.32%`.


```diff
@@ Coverage Diff @@
## next #5384 +/- ##
=======================================
Coverage ? 61.33%
==============
[rubberduck-vba/Rubberduck] build for commit 940eb7e2 on unknown branch: 61.33% (target 0%)
[rubberduck-vba/Rubberduck] build for commit 940eb7e2 on unknown branch: 10.32% of diff hit (target 60%)
 
How can the diff coverage on this PR be that low?
 
5:12 PM
hmm, those 3 have nothing extra in the Properties, right?
 
Oh, random base for the diff.
Which 3? The generic or the non-generic ones?
 
the non-generics
 
They just use the default implementation, which always returns default.
Thinking about it, I think I like it better if the consumers have to cast and the main interface stays clean.
 
I think I would rather have them all be generic, even if those 3 just return null
then you won't need the reflection to differentiate between the non-generic and the generic.
I know that's technically violating the SOLID since that's not a property they should have.
 
The source of the problem is actually that we use reflection at all to determine the type of result.
The consumers should usually not casre about the kind of result they get.
 
5:19 PM
Perhaps but if they are asking for properties, then they kind of need to care what kind of result it is.
 
No, I mean that the consumers care whether it is a reference, declaration or context result.
 
do they though?
 
Hm, can you reflect to see whether something is of a generic type leaving the type open?
 
I mean like something is Result<T>.
Where T is left open.
 
5:27 PM
I mean yes, reflection can get the unconstructed generic type and not look at the generic type arguments (ugh.. what are they called again)
 
Anyway, for 90% of the inspections, a generic result type makes no sense.
What should the property type be if you do not intend to return a property?
 
Are we going it at the wrong end? Shouldn't it be up to the consumers to ask for IInspectionResultWithProperties<T> instead of IInspectionResult ?
 
who's the caller anyway?
 
@MathieuGuindon open generic types
closed is when we fill in the generic types; IEnumerable<T> (open) => IEnumerable<string> (closed)
 
the actual terminology involves the "constructed" qualificative
IEnumerable<string> is a constructed generic type
 
5:34 PM
I am just in the process of adding IWithInspectionResultProperties.
 
@MathieuGuindon TBH, in my reading (usually from Castle Windosr & reflection in general), I've seen people refer to that as simply "closed generic type"
 
Note that that will not extend IInspectionResult because of the type hierarchy constraints.
 
I guess we can leave it to MSFT to add more aliases:
> A constructed generic type has had explicit types supplied for all of its generic type parameters. It is also referred to as a closed generic type.
 
IKR?
They like to use lot of synonyms. Lot of them, to boot.
Don't worry! Just wait few more years and they'll come up with some new terms like instantiated generic type!
 
5:49 PM
Ooohhhh... It's getting better.
I made a copy of the xlsx in MyDocuments. I imported all my code and saved. Then I get a pop-up in Excel The document was saved successfully, but Excel cannot re-open it because of a sharing violation. Please close the document and try to open it again.
I look in MyDocuments and the doc doesn't exist.
 
a thought - do you have a ghost Excel process?
 
No, but every time I shut down Excel, it crashes silently and reopens. :/
 
#TIL VBIDE let me compile a project in design view. Did not expect that.
 
interesting. I can save it without error until I run my code import routine.
code import has worked in the past.
importing with Application.VBE.ActiveVBProject.VBComponents.Import localPath & file
RD has an export project, but no import project, right?
gonna have to start with a new XLSM, import & save one module at a time and see if I find something that breaks it, or if it's just that this existing file is somehow corrupt
 
also, don't forget to log out and log in, too!
I hear that using mouse with your left hand helps. Sometimes.
 
I can see this as a Twilight Zone episode --- did they make it so that it would frustrate & infuriate the power users who are more likely to trip into that while the total noobs continue on happily with their spreadshits spreadsheets? dun dun dunnn...
 
Twilight Zone sounds about right. A couple of times I've copied the file, hit F5 in Explorer and the file's gone.
I have rebooted once already
 
was that file touched by git or RD's git thing?
 
I've never actually used RDs Export project I've only used my own import/export routines.
yeah, I'm using git, but not on the xlsm itself
 
and your own import/export doesn't deal with writing any kind of custom properties, right?
 
6:07 PM
.gitignore includes *.xlsm
  For Each component In Application.VBE.ActiveVBProject.VBComponents
    If component.Type = vbext_ct_ClassModule Or component.Type = vbext_ct_StdModule Then
      component.Export localPath & component.Name & ToFileExtension(component.Type)
      Debug.Print "Exporting "; component.Name
    End If
  Next
  While (file <> vbNullString)
    If Left$(file, 1) <> "." And file <> "SourceControl.bas" Then     'ignore hidden files used for git and this module - it's not pretty
      Application.VBE.ActiveVBProject.VBComponents.Import localPath & file
      Debug.Print "Importing: "; file
    End If
    file = Dir
  Wend
nope
 
@this lol, VBE lets you compile a project in break mode
 
VBE is a long short rope that helps you tie it around your neck
 
[rubberduck-vba/Rubberduck] build for commit 940eb7e2 on unknown branch: 10.32% of diff hit (target 60%)
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5384?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request base (`next@e7590af`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit).
> The diff coverage is `10.32%`.


```diff
@@ Coverage Diff @@
## next #5384 +/- ##
=======================================
Coverage ? 61.33%
==============
 
@MathieuGuindon considering you can edit & continue, it kind of makes sense that you can compile in break mode (and even if you don't, it'll get compiled anyway).
 
Arrgh, forgot something.
 
6:10 PM
I however certainly wasn't expecting it to let me to compile while in design view since that's supposed to be the lockdown mode but.... go figure?
 
That will fail.
 
@this huh, if anything I'd be expecting to be able to compile only in design mode
 
wait, let me clarify that. when I say design mode, I meant when you have not enabled the contents
 
carp. :/
Started with a new xlsm. imported my SourceControl module & ran the import. It puked on save
 
I'm not sure what the "normal" mode is called but I just verified on Excel, it's not in design view (even after enabling the contents)
 
6:17 PM
and when it crapped, it deleted the original from my local drive, not the network
 
@this "protected view" then?
"design mode" is a toggle in the developer tab, lets you select shapes without triggering their associated macros
 
that's what Excel & Word calls it from the host side, yeah
Yeah and it's a button in VBIDE toolbar, next to the stop button.
Whenever one opens a Office document in "protected view" (or "Enable the contents" in Access), the VBIDE is automatically set to "design mode" and you can't do much (and get annoying dialogs as a bonus).
 
and it happens when I use the CE's Replace contents from files
 
hm, that shouldn't be deleting files...
 
@this hm, for some reason I don't think I've ever even used that. Maybe it's for UserForms designer?
 
6:19 PM
Me neither.
which frankly make it all more the stranger - if we are not in design view, what was it, then?
 
dang, now I'm sniped. wth does "design mode" stand for in the VBE
 
Nope, doesn't toggle when opening the UF
all I know ist hat when it's in '"design", you can't do much
 
@this I think that link I posted earlier has a hint. It seems like it saves the doc to a temp file, deletes the original, then renames the temp to the original name.
 
and because I had unconsciously linked that to the "macros not enabled" security, that's why I was surprised to see that compile was a legal action.
 
AFAICT I can do everything I want in "design" mode
oh wait no
 
6:22 PM
So, somewhere between "save current" and "delete original" it's dying before it can rename temp to original
 
running toggles it back to whatever "not design mode" is
 
@MathieuGuindon Hmm, you're right. Once enabled, the design mode becomes benign
when it's not enabled, you get all kind of complaints "OH NOES MAKROS!!!!"
and it also even won't let you toggle the design view, telling you to go to the host to enable macros
 
:shrug:
 
Microsoft!
 
6:32 PM
[rubberduck-vba/Rubberduck] build for commit 4c9a7b19 on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
Ugh. Damned extensible COM interfaces... so, Workbook is extensible, which means anything goes and Option Explicit can't save you. One more reason to early-bind Workbook member calls! Member not on interface inspection is correctly fired for it though. — Mathieu Guindon 1 min ago
Microsoft!
 
eh that question really did need an answer though...
 
These days it feels like SO has partially morphed in CR... like you can't just fix the main problem, you gotta rewrite half of the original code.
well I'm not really on CR but that's my impression anyway
 
6:48 PM
in trying to refactor about 15 terms, i had to click the refresh button between refactors, wait ~3 seconds for the parse to finish, then would select the term, right click it, then have to wait an additional 3~5 seconds before refactor became an option, and even then, the IDE would re-select the last changed term, ignoring what I had just selected to begin refactoring. Does that sound common?
that ended up being about 20 minutes of my time
mind you, that's probably about the same amount of time it would take me to manually do that activity
(i r slo)
 
To be honest, the rename refactor really really needs a bulk option
but unfortunately yes, it is kind of common in a big enough project. :\
The fact that we are limited to a granularity level of module doesn't help. It would be much faster if we could be as granular as a procedure.
 
not positive if the refresh thing is directly related to this particular VBAProject (14 standard modules, 3 userforms, and of the 9 sheets 5 have change_events... i think it's around 80 individual subs)
well, subs/functions
 
reducing coupling between classes can help
if only a small part of the code is affected by a rename, not everything needs to be reparsed
one nice side-effect of RD is that, using RD makes you write better code, and the better code you write, the better RD works!
 
copy; refacting per Sub-routine was where i was at
 
until you get a lovely hand-me-down project....
@Cyril in this case, ctrl + H might be faster.
 
6:54 PM
[rubberduck-vba/Rubberduck] build for commit b4ae264d on unknown branch: AppVeyor build succeeded
 
@this thought about that... i was going through line by line since i have the same terms in multiple functions
example:
Function TestHours(testName As String, sampleCount As Long)
    Application.Volatile (True) 'Makes the calculation apply after every change, including changes to test-list hours
    Dim testNameRange As Range, setupHourRange As Range, sampleHourRange As Range, samplePerSetupRange As Range
    Set testNameRange = Sheets("Test List").Columns(1)
    Set setupHourRange = Sheets("Test List").Columns(3)
    Set sampleHourRange = Sheets("Test List").Columns(4)
    Set samplePerSetupRange = Sheets("Test List").Columns(5)
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5384?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request base (`next@e7590af`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit).
> The diff coverage is `19.39%`.


```diff
@@ Coverage Diff @@
## next #5384 +/- ##
=======================================
Coverage ? 61.31%
==============
 
@Cyril Sheets("Test List") wants to be a local variable :)
 
that "sampleHourRange" occurs in each function in my Functions module
 
@Duga I have absolutely no idea how codecov determines the diff.
 
6:56 PM
@MathieuGuindon I was literally just looking at what I posted thinking "i should make that a with statemetn"
didn't even realize i had done that without posting it in chat here
 
@Cyril the problem with With Sheets("...") and With Worksheets("...") is that both Sheets and Worksheets return Object, which makes everything qualified by the With block variable, implicitly late-bound
 
ahh
guess i will fix that... was going to do the same thing for With Application which will help break-up the indenting and readability
updated:
Function TestHours(testName As String, sampleCount As Long)
    Application.Volatile (True) 'Makes the calculation apply after every change, including changes to test-list hours
    Dim testListSheet As Worksheet
    Set testListSheet = Sheets("Test List")
    Dim testNameRange As Range, setupHourRange As Range, sampleHourRange As Range, samplePerSetupRange As Range
    Set testNameRange = testListSheet.Columns(1)
    Set setupHourRange = testListSheet.Columns(3)
    Set sampleHourRange = testListSheet.Columns(4)
 
00:00 - 19:0019:00 - 00:00

« first day (2077 days earlier)      last day (1103 days later) »