xlsb files (1 Viewer)

neuroman9999

Member
Local time
Today, 09:33
Joined
Aug 17, 2020
Messages
827
does anyone use these? and do they serve any other purpose other than speeding up transactions because it is in binary mode? I just did work for someone in England and he was using many of these file extensions. However, he also had thousands of lines of code running.
 

arnelgp

..forever waiting... waiting for jellybean!
Local time
Today, 22:33
Joined
May 7, 2009
Messages
19,175
The file is much smaller compared to .xlsx
 

neuroman9999

Member
Local time
Today, 09:33
Joined
Aug 17, 2020
Messages
827
The file is much smaller compared to .xlsx
what do you mean by that? can you clarify? the files he had were huge. Lots of data in them.
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 09:33
Joined
Feb 28, 2001
Messages
27,003
XLSB files


Short answer: XLSX files might be internally written in .XML format to allow wider compatibilty, but such files need to be converted first. XLSB files store data in the older format that doesn't involve pre-conversion of .XLS files internally. Therefore, they are faster to open and close. If you are using Excel, the difference is limited to speed of opening and closing. Everything else behaves pretty much the same.
 

neuroman9999

Member
Local time
Today, 09:33
Joined
Aug 17, 2020
Messages
827
Therefore, they are faster to open and close. If you are using Excel, the difference is limited to speed of opening and closing. Everything else behaves pretty much the same.
well then, it seems to me that those file extensions in his case were pretty much pointless. but his requirements were WAY out there in terms of being practical. it's a good thing I sent him a couple of MD read-me's! check out this bit of code that I wrote for him, per his requirements! LOL. this is just STUPID (this is only part of the entire routine):

Code:
DRAWINGS_VALIDATION:
With wsDrawings
    LR1 = .Cells(.Rows.Count, 1).End(xlUp).Row

    ReDim arrDriversExtract(0)
    ctrDrivers = 0

    For r = 2 To LR1
    Debug.Print r
        'store values search
        NVM1 = .Cells(r, vCardCol).Value
        NVM2 = .Cells(r, vDriverCol_Drawings).Value
        NVMval = IIf(Trim(NVM2) = "", Trim(NVM1), Trim(NVM2))

        Set vNVMFind = wsDrivers.Columns(vRegNoCol).Find(NVMval, LookIn:=xlValues, LookAt:=xlWhole)
            If vNVMFind Is Nothing Then
                err_type = "not found"
                MsgBox (Err_in_Tomorrow1(err_type, NVMval, vRegNoCol)), vbCritical, "Error Occurred.  Process Terminated."
                Exit Sub
            Else
                Driver = vNVMFind.Offset(0, -1)
                    dupFound() = Filter(arrDriversExtract, Driver)
                        If UBound(dupFound) = -1 Then 'this is the first time we are creating a file for this driver
                            ReDim Preserve arrDriversExtract(ctrDrivers)
                            arrDriversExtract(ctrDrivers) = Driver
                            ctrDrivers = ctrDrivers + 1
                            Set wbTemplate = Workbooks.Open(ThisWorkbook.Path & Application.PathSeparator & "template.xlsb")
                            Set wsTemplate = wbTemplate.Sheets("Sheet1")
                            Call createDriverFile(Driver, wbTemplate, wsTemplate, wsDrawings, r)
                        Else 'driver already found.  we are adding to the file previously created
                            Set wbTemplate = Workbooks.Open(ThisWorkbook.Path & Application.PathSeparator & Driver & ".xlsb")
                            Set wsTemplate = wbTemplate.Sheets("Sheet1")
                            Call createDriverFile(Driver, wbTemplate, wsTemplate, wsDrawings, r)
                        End If
            End If
    Next r
End With


Function Err_in_Tomorrow1(strErrorType As String, err_NVM As String, err_offenders As Long) As String
    Dim strMessage As String
        Select Case strErrorType
            Case "not found"
                strMessage = "A driver lookup error has been found in book 'Drivers'." & vbCrLf & _
                             "The following information is provided by the error logger:" & vbCrLf & vbCrLf & _
                             "Error Description: " & "No record found" & vbCrLf & _
                             "NVM Registration Number in Error: " & err_NVM & vbCrLf & _
                             "Columns Where Errors Were Found: " & "Column(s) " & err_offenders
        End Select
            Err_in_Tomorrow1 = strMessage
End Function

Function createDriverFile(driverName As String, templateFile As Workbook, templateSheet As Worksheet, _
                          sourceSheet As Worksheet, rowTransact As Long)
Dim rowEndOfData As Long
Dim rowDriverFile As Long
    With templateSheet
        rowEndOfData = .Cells(.Rows.Count, 1).End(xlUp).Row
        rowDriverFile = rowEndOfData + 1
    End With
        'copy first row of data over from "drawings"
        sourceSheet.Activate
        sourceSheet.Rows("1:1").Select
        Selection.Copy
        templateSheet.Activate
        Rows("1:1").Select
        ActiveSheet.Paste
        'copy target row of data over from "drawings"
        sourceSheet.Activate
        sourceSheet.Rows(CStr(rowTransact) & ":" & CStr(rowTransact)).Select
        Selection.Copy
        templateSheet.Activate
        Rows(CStr(rowDriverFile) & ":" & CStr(rowDriverFile)).Select
        ActiveSheet.Paste
            If InStr(templateFile.Name, "template.xlsb") > 0 Then 'save the file AS NEW, it is being created for the first time
                templateFile.SaveAs (ThisWorkbook.Path & Application.PathSeparator & driverName & ".xlsb")
            Else 'just save the file, it has been opened before
                templateFile.Save
            End If
        ActiveWorkbook.Close
End Function
as you can see, we are looping through thousands of recs and producing a new xlsb for each one. you talk about impractical? YEAH. :rolleyes:
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 09:33
Joined
Feb 28, 2001
Messages
27,003
When you are paid by the contract, this type of thing is quite silly. Makes you want to rush as quickly as possible.

When you are paid by the hour, simple-but-silly-and-tedious is delightful.
 

neuroman9999

Member
Local time
Today, 09:33
Joined
Aug 17, 2020
Messages
827
When you are paid by the contract, this type of thing is quite silly. Makes you want to rush as quickly as possible.

When you are paid by the hour, simple-but-silly-and-tedious is delightful.
what exactly are you saying? I do NOT work by the hour. and I did not work by the hour on this job either. I gave the person exactly what they wanted. I did NOT do what you and everyone else here does: bitch and moan about how something should be done correctly. I gave the guy what he wanted, and there was a reason for it. I included in the deliverable a short MD file explaining why the current process may need to be updated and gave recommendations. that way, they have the knowledge they need and come back when they realize that what they're doing won't work in the long run. I didn't shower them with technical correctness. thus, it puts them in a boat whereby they experience all of these:

=> they feel good about themselves
=> they encountered technical competence
=> it made them think about other ideas they could adopt
=> they worked with a professional coder and got what they wanted
=> they know that someone out there actually gives a shit about them

and to the last point, lest I say again Richard, my way WILL win in the end. and this job is further proof of my words. Your way is fine too, however what I do is far more valuable than what a traditional code writer does. but if you can't see that, not sure what I can do to help. I'm headed home. off to bed, although I don't sleep much. gift from God. ;)
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 09:33
Joined
Feb 28, 2001
Messages
27,003
my way WILL win in the end.

In the end, Adam, we will both be dead. Based on age differences, I will probably be first to go. I say that with no rancor, because I know it is the way of the world.

In some ways, you remind me of the poem "Ozymandias" by Percy Bysshe Shelley. You are always showing us your code and telling us how great you are, and how much better you are than any one of us. But the arrogance of King Ozymandias was fed by his vanity and yet in the end, he became one more forgotten relic of another age. It's a short read; here's the link.


I know that my code will not last that much longer because things change. I was a specialist in a particular type of machine and that machine is still popular in Europe but less so in the USA. But I also know that I had code that ran for 25 years for the Navy and I had code that ran for 15 years in the UNO computer center. Some of my pipeline systems ran for 15 years. I am content that people got value for what I did and that time marched on as it always does. It doesn't bother me that eventually all things become memories, then distant memories, then fade into the receding darkness.

You seek the light of Heaven. I seek the light of knowledge. The difference is that I will enjoy what I find while I am still alive whereas you have to die to enjoy your goal ... if you are right about it.
 

neuroman9999

Member
Local time
Today, 09:33
Joined
Aug 17, 2020
Messages
827
You are always showing us your code and telling us how great you are, and how much better you are than any one of us.
WHAT!? You're dreaming. I have changed greatly over time. during my previous tenure as ""ajetrumpet"", that may have been the case, sometimes, however now, if you haven't noticed, a lot of what I say is geared towards educating you guys on how to become less correct and more relatable in your behavior and thinking. Why do you think Elena came to me for help, even though she got assistance for free, for WEEKS from Colin (@isladogs )!?!? I watched that thread from the outside (and many that she posted in) to see what was going on before even responding to her initial ask of me. And the reason? Because I DON'T take business away from people. But, in that case it didn't matter. So, dare I say again, I don't claim to know $hit about anything. Especially coding. Why do I have to have any level of knowledge at all, when its all available for free on the internet and/or github anyway!?
You seek the light of Heaven. I seek the light of knowledge. The difference is that I will enjoy what I find while I am still alive whereas you have to die to enjoy your goal ... if you are right about it.
it's up to you, as to whether I'm right or not. This will sound strange on this board, but I've already seen it so I don't have to question it anymore. Now just you watch, that wonderful guy named @Darrell will post a response to this and call me a delusional being. LOL. ;)
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 09:33
Joined
Feb 28, 2001
Messages
27,003
People don't come to this board for feel-good answers. They come for technical answers. If you don't understand that, I pity you for your blind intransigence. Next time you bemoan our technical nature, remember the purpose of the technical forums and then remember you have been selectively banned precisely because you have not, in the past, provided technically correct answers. You have provided fluff. Oh, sure,... relatable fluff. But fluff. Which is why Jon isolated you.
 

neuroman9999

Member
Local time
Today, 09:33
Joined
Aug 17, 2020
Messages
827
you have not, in the past, provided technically correct answers. You have provided fluff. Oh, sure,... relatable fluff. But fluff. Which is why Jon isolated you.
got some examples? for the primary purpose of me reviewing them and fixing the issue. but I'm not going to give any effort to fix the problem if you and/or Jon aren't going to let me back into the technical section anyway. If you want to make a deal, I will promise to improve on what you have mentioned. deal or no deal (as Howie Mandel says on CNBC)?
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 09:33
Joined
Feb 28, 2001
Messages
27,003
I don't have the authority to make that deal and don't have the interest to find all of your bad or even just questionable answers in the tech forums.

If it were left to me, I would say "No Deal." Your past behavior under three different names has been that when chastised, you whimper and whine for forgiveness but only a week or two later, you start with your attitude and your "I'm just having a little fun" mantra.. At that point, the freight train leaves the rails and we have another of your train wrecks. It is up to Jon but I don't trust you. Oh, I forgive you. But 'forgive' and 'forget' are two very different things.
 

neuroman9999

Member
Local time
Today, 09:33
Joined
Aug 17, 2020
Messages
827
It is up to Jon but I don't trust you.
Jon tells me that that is not his job. It's yours. and your co-horts. and regarding not trusting me. you're not the first person to say that. Some in the catholic church are thinking that about me. But rest assured Richard, they will know the truth eventually about why I exist. Lest us not forget that there were many that said Christ was a fake too.
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 09:33
Joined
Feb 28, 2001
Messages
27,003
Banning is our job. SELECTIVELY banning is a different question. If I have the ability, I don't know that I do.
 

Users who are viewing this thread

Top Bottom