Merhaba arkadaşlar word dosyasını veritabanina atabiliyorum ama ilk sayfayı seçmem lazım sadece ilk sayfayı veritabanina atmak istiyorum...Aranızda sadece ilk sayfayı seçmemi sağlayacak kodu bilen varmı?
metinlerin hangi sayafada olduğunu anlaman çok zor olur. Çünkü safya yapısı yazıcıya göre değişmektedir. Bir bilgisayarda bir metin başka 1. saydayken bir diğerinde 2. sayfaya geçmiş olabilir. Word makrolarına baktım 1. sayfayı seç gibi bir özellik bulamadım.
Merhaba arkadaşım metinin hangi sayfada olduğu onemlı degıl...ben sadece 1. sayfayı almak ıstıyorum veri tabanina...Suan veritabanına word dosyasının tamamını atabılıyorum tabi sadece text dosyalarını...Ama hepsını degıl sadece bırıncı sayfayı alsın ıstıyorum...Yorumlarınızı beklıyorum
bende onu anlatmaya çalışıyorum. hangi metnin birince sayfada olduğunu anlamana imkan yok. bu nedenle kabaca bir yöntemle ilk 80-90 satırı alabilirsin.
Merhaba arkadaşım, sanırım bir iletişim problemi yaşıyoruz...Benim bir problemim var ve bu problem sadece word dosyasının ilk sayfasını veritabanina atma ile ilgili...
Siz diyorsunuzki metnin ilksayfada oldugunu nerden bileceksin diye...Metnin hangi sayfada olduguyla ilgilenmiyorum.Sadece ilk sayfayı VERİTABANINA atmaya çalışıyorum bu konuda yardımcı olabılırsenız sevınırım...Eger yanlış anlamınıza sebeb olacak bir sey soyledıysem kusurabakmayın..
@mkysoft kaç satırı atmak istiyorsun diye soruyor. Çünkü sayfa görecelidir diyor. A4'te atıyorum sayfada 80 satır var ise, A3'te sayfada 160 satır mevcuttur. Bu font boyutuna göre de değişmektedir.
Evetr arkadaslar benede tam dedıgınız gıbı metin ile sayfa numarası arasında baglantıyı anlamadıgımdan iletişim problemi var demiştim...Benim bir konudaki eksikliğimden kaynaklanıyor...Ben sadece ilk sayfayı almakla ilgilendiğimden biraz sorun yaşıyorum..Ama madem sadece ilk sayfayı almak diye birşey yok. Ozaman verdiğiniz kodda işimi görür...
İlgilendiğiniz için çok teşekkür ederim...Verdiğiniz kod işimi görür tabi ilk sayfayı seçmek diye birşey olmadığından..Herkeze kolay gelsin...
procedure TForm1.Button1Click(Sender: TObject);
var
TitleName ,a: string;
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
bulunan:TSearchRec;
dosya:String;
WordApp : OleVariant;
Range : OleVariant;
PosFound : Integer;
begin
//BURASI DOSYANIN YERINI GOSTERMEK ICIN GEREKLI
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
BrowseInfo.hwndOwner := Form1.Handle;
BrowseInfo.pszDisplayName := @DisplayName;
TitleName := 'Lütfen bir klasör seçin';
BrowseInfo.lpszTitle := PChar(TitleName);
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then begin
SHGetPathFromIDList(lpItemID, TempPath);
a:=TempPath;
GlobalFreePtr(lpItemID);
end;
//BURAYA KADAR
if edit1.Text='' then
begin
ShowMessage('Aranacak Metini Yazmadınız!! Sayfa Kapatılıyor');
form1.Close;
end;
if FindFirst(TempPath+'\*.doc',faAnyFile,bulunan)<>0 then //.doc uzantılı dosyaları lıstelemek ıcın
begin
end
else
begin
table1.Open;
repeat
dosya:= a+'\'+bulunan.name;//dosyanın yerı
WordApp := CreateOleObject('Word.Application');//word acılıyor
Wordapp.documents.open(dosya);//hangı word dosyaso
Range := WordApp.Documents.Item(1).Range;//hangı sayfa
Range.Find.ClearFormatting;
Range.Find.Text := Edit1.Text;//edıtten alınan text (arancak olan)
Range.Find.Execute;//uygula dıyoruz
if not Range.Find.Found then
begin
WordApp.ActiveDocument.Close;
end
else
begin
PosFound := Range.Start;