Araç Servis Takip Programı (AST-v.2) foruma eklenmiştir. 
http://www.excelce.net/forum/index.php?topic=1656.0

Gönderen Konu: Altyazıları tüm metin yapma  (Okunma sayısı 3468 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı tonic

  • Excelce Onbaşı
  • **
  • İleti: 1
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: ahmet güçlü
  • Doğum Yılınız: 1985
  • İl / İlçe: istanbul
  • İşletim Sisteminiz: windows 7
  • Office Versiyonunuz: 2010
Altyazıları tüm metin yapma
« : 14 Şubat 2016, 21:33:49 »
Merhaba. Altyazı dosyası içindeki (.srt) video altyazılarını bir macro ile düz metin haline getirebilir miyiz? Örneklersem;

1
00:00:06,612 --> 00:00:12,619
An estimated 20 million cases of blindness
worldwide are caused by cataracts,

2
00:00:12,619 --> 00:00:19,215
a curable condition affecting the lens
that focuses images onto the eye's retina.

3
00:00:19,215 --> 00:00:23,678
A cataract occurs when proteins
in the lens lose their normal arrangement,

şeklindeki altyazıları

An estimated 20 million cases of blindness worldwide are caused by cataracts, a curable condition affecting the lens that focuses images onto the eye's retina. A cataract occurs when proteins in the lens lose their normal arrangement,

şeklinde düz metin yapmak istiyorum. Böylece bu metinleri direk olarak okuyabileceğim. Ama düz metne geçirilirken altyazıdaki her satır sonrasında bir boşluk konması gerekiyor ki bu sayede kelimeler bitişik olmasın.

Bunun için kullandığım bir macro vardı. Ama şuan bir sorun var; İngilizce dışındaki dillerde özel karakter sorunları oluyor. Örneğin Türkçeye özgü harflerde karakterler çıkarıyor. Bunu nasıl düzeltebilirim? Macro kodum aşağıdaki gibidir;

Kod: [Seç]
Sub Altyazıları_Tüm_Metin_Yapma()

Range("A:A").ClearContents
dosya = Application.GetOpenFilename(FileFilter:="Altyazı Dosyaları(*.srt),(*srt)", Title:="Alt yazı dosyası seçiniz.")

If dosya = False Then Exit Sub
Open dosya For Input As #1
Do While Not EOF(1)
    Line Input #1, Kayit
    If Kayit <> Empty And Not IsNumeric(Kayit) And InStr(Kayit, "-->") = 0 Then
        metin = metin & Kayit & " "
    End If
Loop
Close #1
metin = Replace(metin, Chr(10), " ")
uzunluk = 32767
For a = 0 To Int(Len(metin) / uzunluk)
    Cells(a + 1, "A") = Mid(metin, a * uzunluk + 1, uzunluk)
Next

End Sub

Teşekkürler.