2011-08-10 22 views
8

Belgeden geçen ve Stile göre ayrıştırmaya çalışan bir makro yazıyorum. Şu anda, belirlenen stildeki herhangi bir şey hemen pencereye kopyalanıyor. Metni anlık pencereden bir txt dosyasına taşımak için makroyu otomatikleştirmenin bir yolu var mı? Aksi halde, makroyu kullanan herkes VBA'yı açmadıkça metni göremez, değil mi?Anlık pencerenin içeriğini bir metin dosyasına yazın

+0

Hemen pencereye nasıl yerleştiriyorsunuz? Bunun yerine bir dizi değişkenine saklayabilir ve işlem tamamlandığında bir metin dosyasına bırakabilir misiniz? – mellamokb

+0

... ya da sadece bir formda açılır. –

+1

Neden ilk pencerede bilgileri ilk geçişte bulundurmak istediğinizi anlamıyorum ve sadece oradan bir dosyaya yazabilirsiniz. Neden doğrudan dosyaya yazmıyorsunuz ?? –

cevap

18

İşte benim önerim: hemen pencereye VE bir dosyaya aynı anda yaz. Aşağıdaki örnekler.

Neden bilgileri ilk pencerede ilk geçişte yapılıyor ve o zaman sadece oradan bir dosyaya yazıyorsunuz? Bu sadece sapık ve işe yaramaz zor geliyor! Bu kod son bit bir başvuru gerektirdiğini

Dim s As String 
Dim n As Integer 

n = FreeFile() 
Open "C:\test.txt" For Output As #n 

s = "Hello, world!" 
Debug.Print s ' write to immediate 
Print #n, s ' write to file 

s = "Long time no see." 
Debug.Print s 
Write #n, s ' other way of writing to file 

Close #n 


Dim FSO As Scripting.FileSystemObject 
Set FSO = New Scripting.FileSystemObject 
Dim txs As Scripting.TextStream 
Set txs = FSO.CreateTextFile("C:\test2.txt") 
s = "I like chickpeas." 
Debug.Print s ' still writing to immediate 
txs.WriteLine s ' third way of writing to file 
txs.Close 
Set txs = Nothing 
Set FSO = Nothing 

Not ayarlanması: Araçlar> Referanslar> onay işareti Microsoft komut dosyası Runtime de.

+0

Merhaba, cevap için teşekkürler! Bir sorum var: Başka bir yöntem yerine yöntemlerden birini kullanmanın herhangi bir avantajı/sakıncası var mı? –

+1

Evet. Onları okumanızı ve denemeyi öneririm. Şahsen, neredeyse her zaman 'FileSystemObject' yöntemini kullanırım. –

-1

Bu kodu anında pencereye koyun ve Enter tuşuna basarak Listeyi JSON metnine C# olarak yazın.

System.IO.File.WriteAllText(@"C:\Users\m1028200\Desktop\Json2.txt", 
JsonConvert.SerializeObject(resultsAll)); 
İlgili konular