• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Verborgen Excel

Status
Niet open voor verdere reacties.

DonJonsson

Gebruiker
Lid geworden
12 nov 2020
Berichten
16
Goedenavond,

Bijgevoegd een voorbeeld bestandje. waarbij in kolom A en B ik iets geks heb.
Bij de getallen 0200, 0202, 0204 etc. zit er een verborgen spatie / leesteken

Wanneer je op de cel klikt met de cursor achter het laatste cijfer gaat staan en 1 a 2 keer naar rechts klikt en dan weer naar links zie / merk je dat er iets staat wat ik niet kan plaatsen.

Dit geld ook voor Kolom B bij de 90xxxx nummers, maar dan zit er iets verborgen voor en achter het getal.

Is dit op een of andere manier weg te krijgen?
 

Bijlagen

  • 021220TEST5.csv
    602 bytes · Weergaven: 33
Bij mij niks van te merken.
 
Wat doe je verder met het bestand en hoe kom je tot de conclusie dat er onzichtbare tekens instaan?
 
Don,

in de bijlage een manier om te "zien" wat er staat
 

Bijlagen

  • 021220TEST5 (hs).xlsx
    11,7 KB · Weergaven: 21
met een hex-editor zie je wel iets [e2 80 ac], maar of je je daar zorgen moet over maken ?
 

Bijlagen

  • Schermafbeelding 2020-12-02 190119.png
    Schermafbeelding 2020-12-02 190119.png
    7,1 KB · Weergaven: 38
Laatst bewerkt:
Er zit wel degelijks iets vreemds in.
Omdat het een CSV bestand is kan je deze gewoon openen in Kladblok.
Het bestand is opgeslagen in UTF-8 codering.
Er is dan al iets vreemds te zien na het te hebben gekopieerd en hier geplakt:
Namelijk een sterretje als eerste teken:
Code:
;NARUČENE KOLIČINE PRODAVAONICA PO DOBAVLJAČU;Datum i vrijeme: 01.12.2020 11:09:35 ;
Baza: ;;Stranica 1 od 1;
;;;
Prod;Sifra Artikla;Naziv;Kol Host Poslano
*0200‬;*90038762‬;BUKET 7 RUŽA;14
*0202‬;*90270049‬;BUKET 3 GRANE ILEX;10
*0202‬;*90452939‬;BUKET 3 RUŽE, 2 FREZ ;10
*0202‬;*90428062‬;BUKET 5 WAKS FLOWERS;8
*0202‬;*90038762‬;BUKET 7 RUŽA;28
*0204‬;*90038762‬;BUKET 7 RUŽA;14
*0272‬;*90428062‬;BUKET 5 WAKS FLOWERS;8
*3200‬;*90038762‬;BUKET 7 RUŽA;14
*3200‬;*90411880‬;BUKET LJILJ SANT AST GER KAR;8
Maar sla je het bestand op in ANSI formaat dan zie je dit:
Code:
;NARUCENE KOLICINE PRODAVAONICA PO DOBAVLJACU;Datum i vrijeme: 01.12.2020 11:09:35 ;
Baza: ;;Stranica 1 od 1;
;;;
Prod;Sifra Artikla;Naziv;Kol Host Poslano
?0200?;?90038762?;BUKET 7 RUŽA;14
?0202?;?90270049?;BUKET 3 GRANE ILEX;10
?0202?;?90452939?;BUKET 3 RUŽE, 2 FREZ ;10
?0202?;?90428062?;BUKET 5 WAKS FLOWERS;8
?0202?;?90038762?;BUKET 7 RUŽA;28
?0204?;?90038762?;BUKET 7 RUŽA;14
?0272?;?90428062?;BUKET 5 WAKS FLOWERS;8
?3200?;?90038762?;BUKET 7 RUŽA;14
?3200?;?90411880?;BUKET LJILJ SANT AST GER KAR;8
Dan zie je dus op de eerste en laatste posities een vraagteken staan.
Haal die vraagtekens weg en open dan het bestand in Excel.
Dan zal het probleem over zijn.
De getallen worden dan wel als numeriek behandelt.
 
Laatst bewerkt:
Dank allemaal.
Helaas is het wel een dingetje aangezien deze csv ingelezen moet worden in een programma waarbij we zelf gene invloed hebben op het programmatuur net zoals het programma waarbij de excel wordt gegenereerd

Is dit met een Macro o.i.d. op te lossen?
 
Het is geen Excel bestand, het is een CSV, dus een gewoon tekst bestand.
Die kan je wijzigen zoals ik al zei, met Kladblok.
Opslaan in ANSI formaat en de vraagtekens verwijderen.
 
bedankt edmoor. Jammer dat het niet binnen excel opgelost kan worden.

Heb wel een work-around kunnen vinden/maken met behulp van notepad ++ (een alternatief voor kladblok). Daar kan je namelijk een macro maken waarbij je die ANSI karakters met zoeken en vervangen kan verwijderen.
Daar kan je de macro opslaan en wanneer je meerdere keren zo'n bestand krijgt (wat in mijn geval zo is) kan je het bestand (CSV) openen, karakterset veranderen naar ANSI, en dan de macro uitvoeren. Daarna opslaan als CSV (UTF8) en klaar is Don.

Dank allen voor jullie hulp :)
Don
 
Een regeltje:

Code:
Sub M_snb()
   Workbooks.OpenText "J:\download\021220TEST5.csv", 65001, , , , , , -1
End Sub
 
Misschien dat je dit handig vind.
Kopieer de onderstaande code en plak dat in een nieuw Kladblok bestand.
Sla dat bestand dan op en hernoem deze naar UTF8ToANSI.vbs
Dat bestand krijgt nu als icoontje een papier scroll:

thumb_VBS_file.png

Sleep vervolgens je csv bestand op dat icoontje en laat hem los.
Er wordt nu een nieuw bestand gemaakt met dezelfde naam als je csv bestand maar dan met ANSI_ voor de naam.
Dit bestand zal het probleem dan niet meer bevatten.

Code:
'Converteer UTF-8 bestand naar ANSI

If WScript.Arguments.Count = 0 Then
    Msgbox "Sleep een bestand op het icoontje", 64,"Geen bestand"
    WScript.Quit
End If

Bron = split(WScript.Arguments.Item(0), "\") (ubound(split(WScript.Arguments.Item(0), "\")))
Pad  = Left(WScript.ScriptFullName,InStrRev(WScript.ScriptFullName,"\"))
Doel = Pad & "ANSI_" & Bron
Bron = Pad & Bron

Set stream = CreateObject("ADODB.Stream")
charset = "Windows-1252"
stream.Open
stream.Type = 1
stream.LoadFromFile Bron
stream.Type = 2
stream.Charset = "utf-8"

Set fso = CreateObject("Scripting.Filesystemobject")
Set f   = fso.CreateTextFile(Doel, True)
    
Do Until stream.EOS
  strLine = stream.ReadText
       
  Set output=CreateObject("ADODB.Stream")
  output.Open
  output.Type = 2
  output.Charset = charset
  output.WriteText strLine
       
  output.Position = 0
  str = output.ReadText(-1)

  f.Write replace(str, "?", "")
Loop

f.Close
stream.Close
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan