Soru:
Bir Windows metin dosyasının içeriğini panoya kopyalamak için açık kaynak programı
Mike Pennington
2014-03-11 19:24:44 UTC
view on stackexchange narkive permalink

Background

$ DAYJOB'umda çok sayıda metin dosyası oluşturuyorum ve bunlar daha sonra çok karmaşık bir Excel belgesinde bir inceleme panosuna gönderiliyor. Her metin dosyasının içeriği, ayrı Excel sekmelerinde (uygun şekilde adlandırılmış) bir Metin Kutusu'na yapıştırılmalıdır. Herhangi bir Excel sayfasında bu metin dosyaları için 30 ile 220 arasında farklı sekme olabilir.

Eskiden ne işe yarardı

Başlangıçta bir Python komut dosyasını metinle dolu bir Windows klasörüne işaret ettim dosyalar ve ondan boş bir exel belgesi oluşturmasını istedi; sonra sekmeleri biçimlendirilmiş Excel şablonuna kopyaladım. Ancak, kurumsal masaüstü güvenlik önlemlerimiz artık bu komut dosyasını bozacak şekilde değişti. Tüm Excel belgeleri, komut dosyalı excel sayfalarımı bozan DRM Güvenlik Ara Yazılımı tarafından şifrelenir. Çılgınlığı durdurma ricam hiçbir yere gitmedi.

Sorun

Şimdi benim çözümüm manuel kopya & yapıştırması (kuşkusuz ben bir Windows çalışanından çok bir unix programcısıyım). Yüz metin dosyasına tıklamak ve içeriği manuel olarak Excel'e kopyalamak zihin uyuşturucudur ve gereken her tıklama / tuş vuruşu olayıyla çoğalır. Her dosya için, çabamın yarısından fazlasını şunlara harcıyorum:

  • Dosyayı açmak için çift tıklayın (Etkinlikler 1 & 2 - Tıklamalar)
  • Cntl a (Etkinlik 3 - Tuş Vuruşu)
  • Cntl c ile panoya kopyalayın (Etkinlik 4 - Tuş vuruşu)
  • Bekleyen Excel Metin Kutusuna Cntl v ile yapıştırın (Etkinlik 5 - Tuş vuruşu)
  • Açık dosyayı kapatın, birikmiyorlar (Etkinlik 6 - Tıklama)

Bu sorunla ilgili kabul edilebilir bir yol bulmayı çok isterim. Metin İçeriklerini Kopyala adlı bir şey buldum, söz konusu iki tıklama dosya içeriğini panoya kopyalar; ancak yazılım ücretsiz ancak kapalı kaynaktır. Masaüstü bilgisayarlarımıza kapalı kaynaklı ücretsiz yazılım yükleyemiyorum; ancak, açık kaynaklı ücretsiz yazılım çözümleri kabul edilebilir.

Soru

Bu soruna açık kaynaklı bir çözüm istiyorum; Metin İçeriklerini Kopyala 'ya açık kaynaklı bir alternatif istiyorum, ancak birisi excel ile çalışan alternatif bir yazılım çözümü bulursa, dinlerim.

Not: Metin dosyalarındaki satır sonları korunmalıdır.

Talebiniz hala yarı otomatik - Unix'i tercih ediyorsanız (ve muhtemelen PHP komut dosyası) - OpenOffice dosya formatlarını işlemek için http://phpexcel.codeplex.com bu kütüphaneyi öneriyorum, XLSX gibi. Söylemeye çalıştığım şey, pano yerine doğrudan elektronik tabloya kopyalayabileceğidir (elbette yalnızca mantıklıdır, ancak uygun hücreye yapıştırmak için herhangi bir bilgi gerekmez).
Altı yanıtlar:
mrexodia
2014-03-11 21:22:33 UTC
view on stackexchange narkive permalink

Burada, istediğiniz şeyleri yapmanız gereken açık kaynaklı bir uygulama oluşturdum.

https://bitbucket.org/mrexodia/copyfile

Bir şeyi geliştirmek istiyorsanız, çekme isteklerini kabul ediyorum.

DÜZENLEME:

Genel Bakış: CopyFile, bağlam menüsünde bir 'CopyFile' girişi kaydeden küçük bir program Windows Gezgini. Bir ASCII dosyasının içeriğini kopyalar (UNICODE dosyaları desteklenmez).

Güzel! Bir kısayol tuşu kombinasyonunu bağlamanız daha da iyi olur (dosya içeriğini keyboad'dan kopyalamak için, ancak bu harika). Aynı zamanda iç karartıcı derecede küçük ... Burada ne yaptığını anlayıp anlamayacağımı görmem gerek
Özellikle diğer kullanıcılara bu uygulamanın özelliklerini anlatan daha fazla ayrıntı ekleyebilir misiniz?
@aman207: elbette, depoda bir benioku dosyası var, Mike Pennington: bir kısayol tuşunu bir bağlam menüsü öğesine doğrudan bağlamak mümkün değildir. Bu biraz iğrenç bir ilişki gerektirir, ancak kaynak, istediğiniz her şeyi yapmak için size aittir, o yüzden devam edin ve ekleyin: P
Gilles 'SO- stop being evil'
2014-03-13 00:22:39 UTC
view on stackexchange narkive permalink

Ah, anlıyorum, xsel -bi data.txt yapmak istiyorsunuz; xdotool search --class Excel tuşu ctrl + v , yalnızca Windows'ta.

Bu, özel bir uygulama değil, komut dosyası için bir iştir.

AutoHotkey, Windows için genel amaçlı bir masaüstü otomasyon komut dosyası oluşturma ortamıdır. Açık kaynak. Komut dosyası yazma dili, Temel sözdiziminin zarafetini Unix kabuk ayrıştırmanın sezgiselliği ve TeX genişlemesinin düzenliliği ile birleştirir, ancak işi halleder.

İşte yukarıda anlattıklarımı yapan bir komut dosyası.

  #NoEnv; #WarnSendMode Girişi ;; Komut satırında iletilen dosyayı okuyun (veya birini isteyin)% 0% = 0 {FileSelectFile, 1 IfNotEqual, ErrorLevel, 0, Exit, 2} FileRead, data,% 1% IfNotEqual, ErrorLevel, 0, Exit, 2 ;; İçeriği panoya kopyalayınclipboard =% data% ;; Ana Excel penceresini bulun ve etkinleştirin. ;; Bir iletişim kutusuna ulaşmak için sınıfı değiştirmeniz gerekebilir. AutoHotKey ;; Sınıf adını belirlemek için yardımcı program Window Spy.WinGet, w, ID, AWinActivate, ahk_class XLMAINIfNotEqual, ErrorLevel, 0, Exit, 1WinGet, ww, ID, A ;; Yapıştırma kısayolunu gönderinSend ^ v ;; Orijinal etkin pencereyi geri yükleyinWinActivate, ahk_id% w%  

Komut satırından

  autohotkey \ path \ to \ copy-to-excel.ahk komutunu çalıştırın data.txt  

Sağ tıklama menüsüne \ path \ to \ autohotkey \ path \ to \ copy-to-excel.ahk komutunu ekleyebilirsiniz Explorer'da; Tüm dosyaların içerik menüsüne nasıl bir program ekleyebilirim?, Windows'un varsayılan olarak kullandığı programları değiştirme veya Windows 7'de Dosya ilişkilendirmeleri nasıl ayarlanır ( 'açık' değil, diğerleri) veya Windows 7 veya Vista Menüye Gönder'i özelleştirin, komutun menüde tam olarak nerede ve ne zaman görünmesini istediğinize bağlı olarak.

Gilles, cevabın için teşekkürler. Excel'e yapıştırılacak parçayı eklediğinizde biraz fazla başarılı oluyorsunuz (işlerin çalışma sayfasının içinde belirli bir yerde olmasını istiyorum ve sayfa başına birden çok metin kutusu var); ancak, bu kesinlikle kavramı çok iyi göstermektedir. teşekkür ederim
Fractaliste
2014-03-11 19:57:39 UTC
view on stackexchange narkive permalink

Sorunuzun bu kısmına cevap veriyorum:

Eğer birisi senaryolu bir excel alternatifi bulursa, dinlerim.

AutoIt, Windows'un kullanıcı arayüzünü otomatikleştirmenize ve ardından güvenlik kısıtlamanızı atlamanıza olanak tanıyan bir komut dosyası dilidir.

İhtiyaçlarınızı karşılamak için AutoIt, temel dosya erişim işlevi sağlar ( Python'da yaptığınızı düşünüyorum) .txt dosyalarınızın içeriğini okumak için. Daha sonra Windows gui'nin otomasyonu sayesinde içeriği bir insanın yapacağı gibi Excell dosyanıza yazabilirsiniz (fareninki yerine anahtar tetikleyiciyi kullanmanızı öneririm).

Bu bir programlama komut dosyası dili, yani öyle´ çok güçlüdür, ancak yeni başlayan bir halk için karmaşık olabilir, ancak programlamayla rahat görünüyorsunuz. Aslında öğrenmek için çok yararlı olan bir makro kaydedici sağlanmıştır.

AutoIt, kendisiyle oluşturulan büyük miktardaki oyun botlarıyla tanınır. Kişisel olarak, metin kopyalama / yapıştırma işlemini otomatikleştirmek ve ağ üzerinden göndermek için kullandım.

Cevabınız için teşekkür ederim; ancak, çözümü oluşturmak için bir programlama dili yerine bir dosya-içerik-kopyalama çözümü istiyorum. Ancak, bunu yapmak için AutoIT komut dosyasını yayınladıysanız, sorumu yanıtlayan budur.
@MikePennington evet, kullanıma hazır bir çözüm değil. Aslında size son cümleyi yanıtlıyordum: * eğer birisi senaryolu bir excel alternatifi ile gelirse, kulağım olur. *
Bu cümledeki belirsizliği görebiliyorum; ancak niyetim, çözümü inşa etmek için diller değil, çözümler istemek.
Tamam, öyleyse bu yüzden onu doğrudan VBA Excel'de oluşturmadınız?
"AutoIt" ​​açık kaynaklı mı?
@w3d kaynakların bir parçasıdır [mevcuttur] (http://www.autoitscript.com/forum/topic/8389-autoit-source-code/), ancak tamamen açık kaynak değildir.
Autohotkey, Autoit'in açık kaynaklı bir çatalı ve gerçekten de buraya gitmek için doğru yoldur.
Sathyajith Bhat
2014-03-12 17:12:33 UTC
view on stackexchange narkive permalink

Açık Kaynak pano yöneticisi olan Ditto kullanıyorum.

Ditto, & yapıştırma içeriğini herhangi bir Windows uygulamasına kopyalamanıza olanak tanır. Ditto'yu seçmeme neden olan şeyler -

  • Aranabilir pano geçmişi
  • En iyi 10 pano kopyasına kısayol tuşları atayarak kolayca yapıştırmanızı sağlar
  • Kullanabilir fareye dokunmak zorunda kalmadan
  • Yapıştırmak için genel kısayol tuşları
  • Pano işlemlerine dahil edilen / hariç tutulan uygulamalar için ayrı liste
  • Gruplara yapıştırılacak metni düzenleyin , kolay organizasyona izin verir
  • Gün sayısı için yapılandırılabilir ayarlar & tutulacak pano girişlerinin miktarı

Ditto, GPLv3 lisanslı bir program.

Yanıtladığınız için teşekkürler, bu soruyu sormadan önce Ditto'yu kullanmayı denedim, ancak metin dosyalarını "manuel yöntem" den daha fazla tuşa basmadan Ditto'ya aktarmanın bir yolunu bulamadım. Sorunumu bununla nasıl çözebileceğimi açıklar mısınız?
@Mike Python betiğinden bahsettiniz - betik metin dosyalarını açabilir ve içeriği panoya kopyalayabilir. İçerik Ditto'da mevcut olacak ve kopyalanan metni Excel'e yapıştırmak için genel kısayol tuşlarını kullanabilirsiniz. Ditto, yalnızca son 10 pano girişi için kısayol tuşlarını destekler, bu nedenle bu bir sorun olabilir
Tamam, Ditto'nun kullanıcı arayüzü, uğraştığım çok sayıda dosyaya karşı dostça görünmüyor, ancak bu yararlı bir fikir ...
user949283
2014-05-11 14:02:39 UTC
view on stackexchange narkive permalink

Windows, "clip.exe" adlı bir yardımcı programla birlikte gelir ve bence tam olarak istediğinizi yapar. (Bir şeyleri kaşiften sürmeye kararlı değilseniz.)

Kullanım:

C:> klip /?

CLIP

Açıklama: Komut satırı araçlarının çıktısını Windows panosuna yönlendirir. Bu metin çıktısı daha sonra diğer programlara yapıştırılabilir.

Parametre Listesi: /? Bu yardım mesajını görüntüler.

Örnekler:

  DIR | CLIP Geçerli dizin listesinin bir kopyasını Windows panosuna yerleştirir.CLIP < README.TXT Readme.txt'deki metnin bir kopyasını Windows panosuna yerleştirir.  

İş akışınıza tam olarak aşina olmasam da, bunu, elektronik tabloya almak istediğiniz tüm dosyaların her biri arasında kullanıcı girdisini beklemek için bir adımla yineleyen bir komut dosyasına sarmak mantıklı görünecektir.

Avi
2014-05-11 08:15:37 UTC
view on stackexchange narkive permalink

Bunu yapmak için pano yöneticisi programımı Clipjump kullanabilirsiniz. Seçili dosyanın içeriğini birden çok panoya kopyalamak için yerleşik bir özelliği vardır.

Tek yapmanız gereken Windows Gezgini'nde (veya başka bir dosya yöneticisinde) bir dosya seçmek ve kısayola basmaktır. Dosya içeriği, çoklu panoları tarafından yakalanacaktır. Tüm metin dosyalarını clipjump'a kopyaladığınızda, Ctrl tuşunu basılı tutun ve tüm kopyalanan veriler arasında gezinmek için V tuşunu ( Başlarken) kullanın ve Ctrl tuşunu bırakarak bunları birer birer yapıştırın. Aktif olan mevcut klip hatırlanacaktır.

Dosya Yolunu Kopyala için varsayılan sistem düzeyinde kısayol tanımlanmamıştır. Bunu Ayarlar'da yapacaksınız.



Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...