• 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.

Deel werkblad saven in nieuwe file

Status
Niet open voor verdere reacties.

dave34nl

Gebruiker
Lid geworden
19 mei 2002
Berichten
76
Hallo,

Ik wil een gedeelte van een werkblad (middels een macro ?) opslaan als textbestand met .dat als extensie, de file naam zou dan moeten bestaan uit de waarde die in cel G1 staat, filenaam wordt dan bv: 12345.dat.

Nadat de file is weggeschreven moet ik wel in de excel sheet blijven (dus niet als normaal als je save as gebruikt dat je gelijk in de nieuwe file zit)

Weet iemand of dit mogelijk is en hoe dit dan zou moeten, rekening houdend dat ik geen VBA kennis bezit ben ik benieuwd of hier een oplossing voor te maken is.

Alvast bedankt voor jullie reactie's !

Groeten,

Dave.
 
Uitdaging: sheet bewaren zonder dat de naam wordt gewijzigd...

Persoonlijk zou ik een macro maken die:
- eerst de gegevens kopieert die je wilt bewaren
- vervolgens een nieuw werkboek maakt
- en de gekopieerde gegevens vervolgens in de eerste sheet van dat nieuwe werkboek plakt
Als je nu het nieuwe werkboek bewaart en afsluit, dan merkt de gebruiker daar helemaal niets van en de naam van het originele werkboek blijft gelijk.
 
Dave34nl, Ik ken geen mogelijkheid om van een excelbestand een .dat-file te maken. Tenminste, als ik in de SaveAs dialog kijk (bij Files of type...). Een .txt of .csv behoren wel tot de mogelijke extensies.

Groet, Leo
 
Ik lees trouwens hier:

Can be just about anything: text, graphic, or general binary data. There is no specific structure for a .DAT file. You can use an editor like EditPad Pro to look inside a .DAT file and possible determine its contents and relationship with a program. If you are looking for information on the file INDEX.DAT please see the FAQ

Wat is het bij jou? Misschien dat als het tekst is, dat je dan zelf de structuur en de inhoud exporteren via VBA (zal je zelf moeten schrijven). Al had ik vóór vandaag ook nog nooit van een DAT-extensie gehoord... Dit is dus een hele wilde gok :)
 
Bedankt voor jullie reacties, een dat file kan worden gebruikt om data tussen verschillende systemen te verwerken (middels edi), de file is te openen met bv notepad.

Ik gebruik deze file om een order te plaatsen in een testomgeving, nu open ik de file met notepad zet er een nieuw ordernummer in en kan de file inlezen als een order.

Maar ik wil de mogelijkheid hebben om tientallen .dat files snel te kunnen genereren, ik had op het forum een formule gevonden om middels een macro snel een uniek nummer te genereren welke ik kan gebruiken als ordernummer maar dit moet uiteindelijk dus een .dat file worden. :)

Groet,

Dave.
 
Als het te openen is in Notepad, is het dan een tekstbestand?
 
Post anders een voorbeeldje van zo'n DAT file, ontdaan van gevoelige info. Dat is vaak verhelderend.
 
Dave,

Ik denk dat je het beste zelf code kan schrijven om het .dat bestand te maken. Bijvoorbeeld via iets als (let op ongeteste code!):

Code:
Dim fs as object

Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\testfile.dat", True)

a.WriteLine("This is a test.")
a.Close
 
Ik heb een voorbeeldje erbij gedaan, het is een platte text file met de extensie .dat, Etri ik ga met joow code proberen of ik het voor mekaar krijg.

Groet,

Dave.
 

Bijlagen

Het werkt zoals ik wil met deze code:

Sub EDI()


Range("B9") = "=Left(Now(), 5) & Mid(Now(), 9, 3)"

' savealsdat Macro
' Macro recorded 23-12-2007 by ***********
'

'
ChDir "C:\EDI\SO's"
ActiveWorkbook.SaveAs Filename:="C:\edi\SO's\ABC" & Range("B9") & ".dat", FileFormat:= _
xlTextMSDOS, CreateBackup:=False
Range("A9").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B9").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A1").Select
ActiveWorkbook.Save
Range("A9").Select
ActiveCell.FormulaR1C1 = "=+""1994"" & "" "" & ""ABC"" & RC[1]"
Range("A9").Select
End Sub

Bedankt voor alle reactie's !

Groet,

Dave.
 
Dit lijkt mij kortere en efficiëntere code:

Code:
Sub EDI()

    Range("B9").Value = "=Left(Now(), 5) & Mid(Now(), 9, 3)"
    ChDir "C:\EDI\SO's"
    ActiveWorkbook.SaveAs Filename:="C:\edi\SO's\ABC" & Range("B9").Value & ".dat", FileFormat:=xlTextMSDOS, CreateBackup:=False
    Range("B9").ClearContents
    Range("A9").FormulaR1C1 = "=""1994 ABC"" & RC[1]"
    Application.CutCopyMode = False
    ActiveWorkbook.Save
    
End Sub

Wigi

PS: als je hier code neerzet, graag tussen code tags aub.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan